在我们公司,我们有内部SDK,有时在这些SDK中使用inversify可能会很方便。
然而,我发现在不同的包之间管理所有这些IOC容器变得很困难。例如,如果包A依赖于包B,那么您需要合并这两个包的容器,然后应用程序C将导入包B& A,然后它必须再次合并所有这些容器。
因此,如果在SDK中使用IOC容器是一种好方法,我会试着想一想。我个人从未见过SDK提供IOC容器。
对此有什么想法吗?
发布于 2021-07-01 07:55:45
经过深思熟虑后,以下是我对在SDK中使用IOC容器的想法。
如果我们在SDK内部使用IOC容器,然后将ioc容器提供给外部世界,那么我们就是在某种程度上剥离了所有内部组件,从而违反了封装。
我认为在没有IOC容器的SDK中为子类提供实现是完全正常的,如果我们希望允许外部世界自定义该实现,那么我们提供的公共API应该允许这种定制。
现在,当我查看这些镜头时,我认为IOC容器不应该在SDK中。
https://stackoverflow.com/questions/68193460
复制相似问题