在博客圈和微软自己都说,MEF不是另一个IoC容器。
好的......但为什么呢?对我来说似乎是一样的。也许它不如Unity或Castle Windsor那么好,但它仍然符合定义,不是吗?为什么MEF不是像Unity或Castle Windsor这样的IoC容器?
答案 0 :(得分:10)
MEF具有潜力,但作为DI容器,它缺乏:
这些事情非常重要。
对于生活方式,它缺乏:
参考文献: - Mark Seemann的书“.NET中的依赖注入”
答案 1 :(得分:8)
在我的世界中,DI基于三个维度,即对象组合,终身管理和拦截。这是其他完整的DI容器,如Unity,Castle Windsor和Ninject的便利。 MEF仅支持一维,即对象组合。它做得很好,但MEF不支持剩余的两个维度。