代码之家  ›  专栏  ›  技术社区  ›  stimms

我如何在不依赖国际奥委会图书馆的情况下定义通用导出?

  •  1
  • stimms  · 技术社区  · 15 年前

    我正在开发一个需要使用公共服务定位器的库( http://commonservicelocator.codeplex.com/ )为了不与任何消费者发生冲突,提供通用的IOC支持。显然,我不想在我的项目中直接引用IOC框架,但我不确定如何注释这些部分,以便不同的框架可以找到它们。例如,MEF通常通过查找带有导出注释的类来工作,而Linfu则通过查找带有实现注释的类来工作。这两个注释都是在它们各自的项目中定义的,需要我同时引用它们。

    如何避免添加所有这些类和多次注释所有类?它当然不能很好地适应新的IOC框架,因为每个新框架的注释都需要重新构建。

    1 回复  |  直到 15 年前
        1
  •  2
  •   David Lynch    15 年前

    从文档中:

    “库不应配置 集装箱

    “作为图书馆或框架作者, 明白你不应该 把任何东西放进容器里- 这是打电话的人的工作。允许 要选择的应用程序编写器 不管他们想要什么容器。你需要 记录您需要的服务 已注册,如果您正在使用 服务地点。当前环境 集装箱。”

    所以我认为你不需要导出任何东西,只需要记录下你需要消耗什么来运行。并且可以选择使用serviceLocator.current接口来解析所需的任何依赖项。

    推荐文章