我正在使用Silverlight v4和WCF Ria Services启动新的LOB应用程序。我们的想法是使用Prism v4,包括MVVM,MEF和Unity。
我可以一起使用这些“技术”:可以想象哪种架构场景?
编写一个骨架来构建可以重用的这种应用程序是否有意义?也许已经存在作为示例应用程序?
(在Prism v4中有很多样本项目,但没有包含所有“技术”的项目)
提前致谢。
答案 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 controls和behaviors封装UI逻辑,而不是在视图中编写代码隐藏。
我希望这个介绍有所帮助。你的问题相当普遍,因此很难确定你是否已经知道所有这些事情。如果您需要此以外的具体信息,请澄清。