【问题标题】:Own extensibility layer or MEF/MAF?自己的可扩展层或 MEF/MAF?
【发布时间】:2011-03-25 07:06:38
【问题描述】:
对于那些在 .NET 中使用应用程序可扩展性的人,您更喜欢做什么 - 创建自己的可扩展层或使用 MEF(托管扩展框架)或 MAF(托管插件框架)?
到目前为止,我已经使用了两种实现应用程序可扩展性的方法,我喜欢 MEF,因为它可以更轻松地从特定位置加载现有程序集,而无需直接验证接口实现(因为缺少 @987654321 @签入.NET)。
您在特定的可扩展层偏好中看到了哪些优势?有什么缺点?
【问题讨论】:
标签:
.net
mef
extensibility
maf
【解决方案1】:
MEF 当然有很多优点,你提到的大部分...可扩展性、模块化、生命周期管理以及我希望在一流框架中提供的任何其他东西。它还随框架一起提供,因此无需额外操作,您知道它将在不同实现中保持一致。
它在 VS 2010 中使用,因此没有更广泛使用的现实世界示例。
MAF 并不是一回事。它非常特定于 System.AddIn,并且有一些更严格的要求和合同需要满足。话虽如此,它还专门针对某些人可能想要的特定类型的可扩展性。
如果我有一个非常小的占用空间或不需要所有额外开销的应用程序,我只会选择自定义方法。