IoC 容器中的模块到底是啥
Posted
技术标签:
【中文标题】IoC 容器中的模块到底是啥【英文标题】:what exactly is module in IoC containerIoC 容器中的模块到底是什么 【发布时间】:2020-01-08 14:45:40 【问题描述】:不知道为什么在控制反转中很难找到“模块”的确切定义。
我了解“组件”的定义很明确,并且很容易在 IoC 相关文章中找到,因为它是被注册并解析为要提供的依赖项。
不知何故没有明确提到模块是什么。
【问题讨论】:
【参考方案1】:很少有与依赖注入相关的术语是明确定义的。你所谓的 IoC,I call Dependency Injection (DI)。
server、service、client、component 等术语根本没有明确定义。它们对不同情况下的不同人意味着各种各样的事情。
您无需编写您所查看的 DI 容器,甚至无需在哪个平台(.NET、Java 等)上编写,但某些 DI 容器带有一个“模块”系统,使您能够打包捆绑包定义应用程序(部分)的配置代码。 IIRC,Castle Windsor 称他们为 Installers,Autofac 称他们为 Modules,StructureMap 称他们为 Registries,等等。 p>
FWIW,我对my book about DI 的目标之一是提供与之相关的一致模式语言。在其中,我一直称它们为 DI Containers,主要模式称为 Constructor Injection,等等。
但是,我不支持使用 DI 容器。相反,我支持Pure DI。
【讨论】:
以上是关于IoC 容器中的模块到底是啥的主要内容,如果未能解决你的问题,请参考以下文章