用于模块化MVVM应用程序的Prism + MEF的替代品

Ste*_*ard 18 prism mef mvvm caliburn mvvm-light

我的团队和我开始计划开发一个模块化的应用程序,它可能会多目标WPF和Silverlight.

我个人有一些使用旧版PRISM来使用MVVM模式构建复合Silverlight应用程序的经验.我们当时并不熟悉MEF来处理各种模块依赖关系,因此我们没有使用它.

我们没有与任何特定框架结婚,但想要使用其中一个更大的玩家.因此,我们开始研究Caliburn/Caliburn Micro,Prism,MVVM Light和Reactive UI.

我读到的模块化大部分内容都表明PRISM和MEF可以处理这一过程.由于我还在围绕其中的一些,我不确定我是否缺少一些明显的选择.我能够在Caliburn Micro和MEF上找到这篇文章.

任何人都可以指点我使用其他一些框架编写复合应用程序的类似文章,类似于PRSIM使用区域等的方式吗?理想情况下,我想限制所需框架的数量,同时提供最大的灵活性.我们不反对采用"最佳"方法并使用例如MEF/PRISM来处理View管理的合成和MVVM Light等; 但为什么在1时会使用2?

And*_*mes 30

你应该首先做的一件事是将它们分成适当的桶.我看到很多人将MVVM框架与应用程序组合框架混合在一起.一旦将它们放入适当的存储桶中,您就可以开始从每个类别中选择一个框架,并将它们组合到您认为最佳的方案中.

申请组成

  • Prism(使用任何IoC容器:MEF,Unity,Ninject,Autofac等等.有一些东西可以让PrVM更容易使用MVVM,但我不会把它称为全功能的MVVM框架......它主要是一个模块化的应用程序组合framwork).
  • MEF(MEF实际上能够开箱即用地进行应用程序组合.它通常被认为只是一个IoC框架,但它看起来很强大.)

MVVM框架

  • ReactiveUI(我最喜欢的)
  • 卡利
  • Caliburn Micro
  • MVVM Light

我想这会帮助你做出决定.您可以选择自己喜欢的应用程序和应用程序组合技术,以及您喜欢的MVVM框架,并将其运行到竞赛中.

至于文章,我没有太多.关于Prism的应用程序组合有很多很好的文章(这几乎是它的工作),但这里有一篇关于MEF本身的应用程序组合的好文章:

http://blogs.microsoft.co.il/blogs/tomershamam/archive/2009/08/11/wpf-mef-declarative-composite-ui.aspx

您还应该在他的博客上查看Glenn Block的系列文章"Building HelloMEF".我找不到一个全面的列表(他与他的标签不一致),但这里是"MEF"标签.这里有很多好东西:

http://blogs.msdn.com/b/gblock/archive/tags/mef/default.aspx?PageIndex=1