jam*_*ock 5 enterprise-library prism mef
我有一个相对基本的问题,但实际上只需要一些清晰度,我一直在使用Prism(复合应用指南)在C#中创建一个WPF MVVM桌面应用程序,这一点我都清楚(或者我认为)沿着与IoC和基于模块的架构等.同时我开始使用MEF并意识到两者之间存在一种灰色区域(我已经发现并阅读了许多关于在IoC容器中托管MEF扩展的文章/博客类似.
但是......最近我开始关注企业库5,这是什么导致了我的困惑.它们在哪里组合在一起?所以Prism使用DI和基于模块的架构...... EntLib使用Di和应用程序块类型架构...... MEF根本不使用DI?这是否意味着EntLib和Prism是完全独立的架构方法,或者一个是另一个的子集?MEF也可以和/两者一起使用吗?
任何解释都是最受欢迎的.
非常感谢
Jos*_*ton 10
我也对IoC和MEF之间的区别感到困惑.我发现描述它们的最简单方法是:
MEF用于发现和实例化您不了解的内容.
IoC用于请求您确实知道的内容.
一点背景.MEF将始终实例化您至少请求一次的导入.您无法自己创建它,并将其放入准备使用的目录中.MEF负责创建和满足进口.动态加载的DLL,你不知道哪些DLL到达,是一个很好的例子.
另一方面,IoC - 您从当前库请求实现,并且您将获得一个实现.但您也有责任确保实施存在.
IoC用于依赖注入.MEF是为了可扩展性.
| 归档时间: |
|
| 查看次数: |
2151 次 |
| 最近记录: |