【问题标题】:Is it possible (and reasonable) to use MEF and Prism (CAL) in one project?在一个项目中使用 MEF 和 Prism (CAL) 是否可能(并且合理)?
【发布时间】:2023-03-27 01:32:03
【问题描述】:

我目前正在使用 Prism (CAL) 进行 WPF 项目,我想知道在一个项目中同时使用 Prism 和 MEF 是否是个好主意。

我会使用 Prism 来实现模块化,使用 MEF 来实现可扩展性。我的项目是一个类似绘画的应用程序,因此 Prism 将提供模块分离(工具箱、画布作为模块等),MEF 将用于为要绘制的新形状(即矩形、圆形......)提供可扩展点。

这有意义吗?或者我可以仅使用 Prism 获得类似的功能吗?

在此先致谢并致以最诚挚的问候, 克里斯楚

【问题讨论】:

    标签: wpf prism mef


    【解决方案1】:

    当然!这是非常合适的做法。

    MEF 看起来正朝着 .NET Framework 发展,所以我想说这是一种非常好的方法来公开需要非常小(且相对不变)依赖的插件表面区域(仅在 MEF 上......不是全部Prism 附带的其他东西)供您的插件作者使用。

    由于它将在框架中,我敢打赌会比 Prism 更多的人熟悉它。

    【讨论】:

      【解决方案2】:

      这样做是合理的,我们有几个客户这样做。 MEF 是 .NET Framework 4.0 的一部分,也是 Silverlight 的下一个版本。我们目前在 Codeplex 上为 .NET 3.5 提供 MEF。

      就带有 MEF 的 Prism 而言,目前的挑战是您需要编写一堆代码,因为 Prism 还没有实现与 MEF 通信所需的服务

      一种选择是使用我们在 MEF Contrib (mefcontrib.codeplex.com) 中的 MEF/Unity 集成层。它使 Unity 和 MEF 能够相互对话,因此您可以通过 Unity 桥将现有的 Prism 源与 MEF 一起使用。

      我们正在与 p&p 合作,以直接支持 MEF 支持。

      谢谢 格伦

      【讨论】:

      • 令人兴奋的东西。谢谢格伦。
      猜你喜欢
      • 1970-01-01
      • 2011-10-30
      • 2015-02-03
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      相关资源
      最近更新 更多