2011-05-06 75 views
1

我設計並開發了MVP模式中的應用程序。我沒有使用任何軟件工廠來實現這一點。現在我想轉移到SCSF模式和CAB結構。如何從MVP模式轉換到SCSF CAB模式?

我需要知道它是否可以以更簡單的方式完成,因爲CAB結構只實現了MVP。

+0

哈基姆做的信息共享幫助你選擇智能客戶端? – Wali 2013-02-20 13:02:00

回答

0

在CAB和SCSF中,有代碼就緒的MVP類(和接口)。所以,如果你已經實現了它,那麼你可以複製你的方法,一旦你得到了類的hang。。

將嘗試向大家介紹它: -

1)IVIEW - 視圖/),它是一種參考,它公開只有那些集性能的方法,可以通過主持人(或任何其它類訪問

2)視圖 - 它具有Presenter的參考,並且可以訪問演示者的所有公共/受保護方法。按照設計,它不能訪問任何服務,因爲您需要WorkItem(服務,狀態,命令,事件等的容器)。對於所有實際的目的,View只是在那裏管理UI控件,綁定,對象狀態等。

3)Presenter - 它具有對WorkItem的引用(通過它可以訪問所有服務)。演示者有責任在服務的幫助下操作數據。

4)WorkItemController - WorkItemController可以採取用例相關的功能在佈線UI控件/解除wire,視定位等

它不僅僅是MVP在SCSF/CAB作爲其整體的UI應用的設計。它具有如下: -

  1. 模塊化結構
  2. 按需架構。
  3. 服務模式
  4. 命令
  5. 事件處理程序 等等

所以,首先你必須檢查codeplex docs,看看你的項目將在該平臺/體系結構可以輕鬆升級。如果你剛剛開始,我會推薦CAB/SCSF,並考慮讓項目具有可擴展性和企業級別。

1

我會同意瓦利。你已經準備好了你的觀點。假設他們是完美的MVP。現在您需要將它們分類爲模塊。 我們創建了子工作項,這樣當用例啓動時,它就會添加到模塊的工作項集合中,並添加一個新的子工作項實例。所以當用例完成時,我們只是終止了子項目。如果發生任何異常,那麼現在該模塊的工作項目中的子項目將受到影響。 SCSF具有可以在屏幕上組合多個視圖的功能。因此,您需要注意是否可以使用ZoneWorkspace來避免重複的UI和邏輯。 決定模塊如何溝通,說事件或命令。 數據如何在視圖和模塊之間傳遞。現在你有了殼牌,你需要決定你將要在殼牌上擁有哪些區域。在shell中默認有什麼。這些模塊如何聽殼牌。 Shell從模塊中自定義的事件事件。

SCSF具有依賴注入。因此,決定你將擁有什麼樣的UI服務。相應地將它們注入到Presenter中。

+0

感謝您的回覆。 CAB SCSF模式有沒有好書或電子書? – Hakim 2011-08-27 10:53:15

+0

我讀過「編程Microsoft®複合UI應用程序塊和智能客戶端軟件工廠」,然後閱讀了安裝程序中的SCSF chm,並完成了動手實驗練習。最初只是試圖一口氣知道所有事情,你可以跳過一些不重要的事情。漸漸地你會感到舒服 - 只是我個人的意見! – ioWint 2011-08-30 21:17:03

+1

謝謝...我嘗試過,但最終降落在知識超載:)...以及將再次嘗試 – Hakim 2011-09-08 10:53:28