微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

依赖注入 – 使用依赖注入设计Nuget包

我们目前正在编写一个充当服务网关的nuget包.它的职责是结束对外部服务的调用,以便以正确的方式进行,并正确处理响应.其目的是减少新客户端想要使用外部服务时的开销时间开销.

nuget包是在外部服务的解决方案中由单个项目构建的,称为“客户端”.这样客户端项目就可以共享一个公共域,并在构建号码发布时保持同步.客户端项目应用控制原理的反转,这意味着作为入口点的类(从外部服务获得响应的堆栈的开始)具有许多接口依赖性.

我们通常使用StrucutreMap作为我们的Io​​C容器,但我想知道如何使用依赖注入’内置’来配置我们的客户端项目?似乎错误的是每个消费者都必须连接包的依赖性解析.但是,也不应该是每个客户端都应该使用StructureMap并且必须将“ClientRegistry”(初始化程序)类添加到其自己的启动逻辑中.

是否有任何指导原则来帮助解决这个问题?或者基于IoC原则构建的复杂nuget包的任何好例子?

您可以使用 CommonServiceLocator – 它不像完整的IoC容器那么丰富,但它会使您的包容器不可知,并且应该允许您的包的消费者继续使用他们选择的IoC容器.

The library provides an abstraction over IoC containers and service locators. Using the library allows an application to indirectly access the capabilities without relying on hard references. The hope is that using this library,third-party applications and frameworks can begin to Leverage IoC/Service Location without tying themselves down to a specific implementation.

原文地址:https://www.jb51.cc/javaschema/281633.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐