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

And*_*rea 0 prism mef unity-container mvvm silverlight-4.0

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

我可以将所有这些"技术"结合起来使用:可以设想哪种架构场景?

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

(在Prism v4中有很多示例项目,但没有包含所有"技术"的项目)

提前致谢.

Mur*_*ven 5

好吧,请记住,在版本4.0发布之前,MEF将不会正式成为Prism的一部分(现在它在CTP中),但它们绝对可以一起使用.另一方面,MVVM并不是Prism的严格组成部分:可以使用Prism和MVVM,但可以使用Prism而不使用MVVM,反之亦然.

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

此外,智能地使用Prism基础设施项目并将那些不够大的公用设施配给自己的模块但是可以重复使用以便运送到其他项目总是一个好主意.

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

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

仔细研究一下Prism的其他重要部分是UI组合:RegionManager,RegionContext和Regions.

当您计划使用MVVM时,请确保充分了解数据绑定在Silverlight中的工作原理,查看转换器并深入了解命令以及如何使用它们并绑定它们并确保您看一看Prism的代表命令.

为了保持UI可重用和"可组合",请确保使用自定义控件行为封装UI逻辑,而不是在视图中编写代码隐藏.

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