新的LOB Silverlight 4带棱镜4(mvvm,mef,unity)

时间:2010-11-02 00:58:44

标签: mvvm silverlight-4.0 unity-container prism mef

我正在使用Silverlight v4和WCF Ria Services启动新的LOB应用程序。我们的想法是使用Prism v4,包括MVVM,MEF和Unity。

我可以一起使用这些“技术”:可以想象哪种架构场景?

编写一个骨架来构建可以重用的这种应用程序是否有意义?也许已经存在作为示例应用程序?

(在Prism v4中有很多样本项目,但没有包含所有“技术”的项目)

提前致谢。

1 个答案:

答案 0 :(得分:5)

好吧,请记住MEF won't be officially part of Prism until version 4.0已发布(现在正在CTP中),但它们绝对可以一起使用。另一方面,MVVM并不是Prism的一部分:可以使用Prism和MVVM,但可以使用Prism而不使用MVVM,反之亦然。

构建Prism应用程序时,为可重用的东西创建单独的模块总是一个好主意。例如,如果您的应用程序通常解析XML,您可以创建一个Prism模块来处理它,然后重新使用它。

此外,明智地使用Prism基础设施项目并将那些不够大的公用事业设置为自己的模块,但是可以重复使用以便运送到其他项目。< / p>

要找到一个充分利用棱镜的项目并不容易,主要是因为Prism并不是指单个项目完全使用。 Prism是一种方法论菜单,您可以从该菜单中选择那些可以帮助您更好,更有效地构建项目的菜单。

特别注意Prism中的EventAggregator,它将为您提供应用范围内的事件广播功能。

仔细研究一下Prism的其他重要部分是UI Composition:RegionManager,RegionContext和Region。

当您计划使用MVVM时,请务必充分了解Data Binding在Silverlight中的工作原理,查看converters并深入了解Commands以及如何使用它们并绑定它们,并确保你看看Prism的DelegateCommand

为了让您的UI可重复使用并且“可组合”,请确保使用custom controlsbehaviors封装UI逻辑,而不是在视图中编写代码隐藏。

我希望这个介绍有所帮助。你的问题相当普遍,因此很难确定你是否已经知道所有这些事情。如果您需要此以外的具体信息,请澄清。