2010-11-02 111 views
0

我開始一個新的LOB應用程序與Silverlight v4和WCF Ria服務。這個想法是使用Prism v4,包括MVVM,MEF和Unity。新的LOB Silverlight 4與棱鏡4(mvvm,mef,unity)

我可以一起使用這些「技術」:可以想象哪種架構的場景?

是否有意義編寫一個框架來構建這種可重用的應用程序?可能已經作爲示例應用程序存在

(Prism中V4有很多樣的項目,而不是一個包含所有「技術」)

在此先感謝。

回答

5

好的,請記住MEF won't be officially part of Prism until version 4.0已經發布(它現在在CTP中),但它們一定可以一起使用。另一方面,MVVM不是Prism的一部分:可以使用Prism和MVVM,但可以使用Prism而不使用MVVM,反之亦然。

當您構建Prism應用程序時,爲可重用的事物創建單獨的模塊總是一個好主意。例如,如果您的應用程序通常解析XML,您可以創建一個Prism模塊來處理它,然後重新使用它。

此外,最好是智能地使用Prism基礎設施項目,並在那裏放置不夠大的配套設施,以便獲得自己的模塊,但可重複使用,足以承載到其他項目。

要找到一個讓Prism得到充分利用的項目並不容易,主要是因爲Prism並不意味着完全被單個項目所使用。棱鏡是一種方法菜單,您可以從該菜單中選擇和選擇那些有助於您更好,更高效地構建項目的項目。

請特別注意Prism中的EventAggregator,它將爲您提供廣泛的事件廣播功能。

棱鏡的其他重要部分要仔細看看UI Composition:RegionManager,RegionContext和Regions一般。

當您計劃使用MVVM的,確保有Data Binding作品在Silverlight如何,看看converters和深潛入Commands以及如何使用它們並將它們綁定,並確保你好好理解看看棱鏡的DelegateCommand

爲了保持您的UI可重用和「可組合」,請確保使用custom controlsbehaviors封裝UI邏輯,而不是在視圖中編寫代碼隱藏。

我希望這個介紹有幫助。你的問題相當一般,因此很難確定你是否已經知道所有這些事情。如果您需要除此以外的特定信息,請澄清。

+0

截至引用的版本(V4),棱鏡現在確實包括MEF。 – 2010-11-05 16:54:15

+0

@已經足夠了,你是對的,我已經更新了我的答案以反映這一點。 – Murven 2010-11-05 18:16:33