我開始一個新的LOB應用程序與Silverlight v4和WCF Ria服務。這個想法是使用Prism v4,包括MVVM,MEF和Unity。新的LOB Silverlight 4與棱鏡4(mvvm,mef,unity)
我可以一起使用這些「技術」:可以想象哪種架構的場景?
是否有意義編寫一個框架來構建這種可重用的應用程序?可能已經作爲示例應用程序存在
(Prism中V4有很多樣的項目,而不是一個包含所有「技術」)
在此先感謝。
我開始一個新的LOB應用程序與Silverlight v4和WCF Ria服務。這個想法是使用Prism v4,包括MVVM,MEF和Unity。新的LOB Silverlight 4與棱鏡4(mvvm,mef,unity)
我可以一起使用這些「技術」:可以想象哪種架構的場景?
是否有意義編寫一個框架來構建這種可重用的應用程序?可能已經作爲示例應用程序存在
(Prism中V4有很多樣的項目,而不是一個包含所有「技術」)
在此先感謝。
好的,請記住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 controls和behaviors封裝UI邏輯,而不是在視圖中編寫代碼隱藏。
我希望這個介紹有幫助。你的問題相當一般,因此很難確定你是否已經知道所有這些事情。如果您需要除此以外的特定信息,請澄清。
截至引用的版本(V4),棱鏡現在確實包括MEF。 – 2010-11-05 16:54:15
@已經足夠了,你是對的,我已經更新了我的答案以反映這一點。 – Murven 2010-11-05 18:16:33