2010-11-02 78 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