我正在观看有关使用Silverlight的MEF或Prism的一些教程,但也在一边做一些MAF工作(System.AddIn),并认为这也可能有用。我看到Prism和MEF几乎是一样的,但是Prism有事件聚合器。
有没有人想过MAF与Silverlight的合作程度如何?
答案 0 :(得分:4)
类似的帖子...... Choosing between MEF and MAF (System.AddIn)
对于MEF与PRISM,差异超出了事件聚合器的存在 - 特别是可扩展性,发现和模块化的不同概念。在这一点上,这些是一些互补的产品。 6月1日PRISM 4的下降支持MEF(而不是Unity)作为DI容器。格伦对MEF here有一个很好的解释。
答案 1 :(得分:3)
所以MEF 与不同于PRISM。 Prism是一个UI组合框架,可以与WPF,Silverlight,WP7,Surface一起使用,也可以与基于C#的Metro Style Apps for Win8一起使用。另一方面,MEF是一种通用组件组合框架,并且充当强大的依赖注入解决方案。通过组合我的意思是它可以在运行时发现你的组件并将它们连接在一起。 MEF对其重构功能特别有用 - 基本上系统可以在运行时改变其行为。想象一下,将一个新的dll放入应用程序的bin文件夹中,该dll会立即被拾取并显示新的功能!
说到Silverlight,MEF在那里工作就像一个魅力!您可以使用MEF加载的棱镜模块。最后,MEF for SL附带DeploymentCatalog - 它允许您在运行时下载其他XAP,并假设您利用重组功能,您可以在用户使用应用程序时为应用程序添加新功能,从而可以节省带宽。应用启动,因为您不必一次下载所有内容。
总而言之,MEF与SL以及Prism一起使用效果很好。强烈建议串联!