依赖注入 – MEF(托管可扩展性框架)与IoC/DI

MEF(托管扩展性框架)解决了哪些问题,现有的IoC / DI容器无法解决?
MEF的主要目的是可扩展性;用作当应用程序的作者和插件(扩展)的作者不同并且在已发布的接口(合同)库之外彼此不具有特定知识时的“插件”框架。

MEF解决的另一个问题空间不同于通常的IoC可疑,MEF的优势之一是[扩展]发现。它有很多,好的,可扩展的发现机制,对您可以与扩展关联的元数据进行操作。从MEF CodePlex网站:

“MEF允许用附加元数据标记扩展,这有助于丰富的查询和过滤”

结合延迟加载标记的扩展的能力,能够在加载之前询问扩展元数据打开了一大堆有趣的情况的大门,并且基本上启用诸如[插件]版本化的能力。

MEF还具有“合同适配器”,其允许扩展被“适配”或“变换”(从类型到类型),完全控制这些变换的细节。合同适配器打开了另一个创造性的前沿,相对于“发现”意味着什么。

同样,MEF的意图紧紧集中于匿名插件可扩展性,这与其他IoC容器非常不同。所以虽然MEF可以用于组合,这只是它的能力相对于其他IoC的一个小交集,我怀疑我们会看到很多乱伦的相互作用前进。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...