我正在使用Silverlight v4和WCF Ria Services启动一个新的LOB应用程序。想法是使用Prism v4,其中包括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是方法论的菜单,您可以从菜单中选择可以帮助您更好,更高效地构建项目的方法。

请特别注意Prism中的EventAggregator,它将为您提供适用于整个应用程序的事件广播功能。

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

在计划使用MVVM时,请确保充分了解Data Binding在Silverlight中的工作原理,看看converters并深入研究Commands,以及如何使用它们并将其绑定(bind),并确保您了解了Prism的DelegateCommand

为了保持UI的可重用性和“可组合性”,请确保使用custom controlsbehaviors封装UI逻辑,而不是在 View 中隐藏代码。

希望本介绍对您有所帮助。您的问题相当笼统,因此很难确定您是否已经意识到所有这些事情。如果您还需要其他特定信息,请进行澄清。

关于mvvm - 带有 Prism 4的新LOB Silverlight 4(MVVM,MEF,统一),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4074243/

10-13 08:47