2

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

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

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

在此先感谢和最好的问候,crischu

4

2 回答 2

2

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

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

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

于 2009-07-30T14:31:49.057 回答
2

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

就 Prism 和 MEF 而言,此时的挑战是您需要编写一堆代码,因为 Prism 还没有实现与 MEF 对话所需的服务

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

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

谢谢格伦

于 2009-09-12T20:41:23.970 回答