【发布时间】:2012-04-23 05:04:31
【问题描述】:
通读这篇 MSDN 文章 http://msdn.microsoft.com/en-us/library/dd460648.aspx 我看到有人声称 MEF 对程序集没有硬依赖。我不确定这意味着什么,因为即使合同是字符串,MEF 仍然按字符串解析,然后按类型解析。所以宿主程序集和扩展程序集都需要对契约程序集的引用。这不是硬依赖吗?
托管可扩展性框架或 MEF 是一个用于创建 轻量级、可扩展的应用程序。它允许应用程序开发人员 无需配置即可发现和使用扩展。它也是 让扩展开发人员轻松封装代码并避免脆弱 硬依赖。 MEF 不仅允许在内部重用扩展 应用程序,但也可以跨应用程序。
最后,组件开发者必须接受一个硬依赖 什么程序集包含他们实现的接口。这使它 一个组件很难在多个应用程序中使用,并且 当您创建测试框架时也会产生问题 组件。
因为 MEF 模型不需要硬依赖 应用程序组装,它允许从 应用到应用。这也使得开发测试变得容易 使用独立于应用程序的工具来测试扩展组件。
谁能给我解释一下?也许我误解了硬依赖到底是什么?
【问题讨论】: