当前位置 : 主页 > 手机开发 > 其它 >

.net – 与我实现它的方式相比,IoC Container如何实现依赖注入

来源:互联网 收集:自由互联 发布时间:2021-06-22
要做依赖注入,我可以创建一个不同类型的数据库连接的通用字典,然后通过反射动态地实例化一个类型,然后再将它传递给需要它的对象的构造函数. 使用IOC容器时会带来什么样的差异和
要做依赖注入,我可以创建一个不同类型的数据库连接的通用字典,然后通过反射动态地实例化一个类型,然后再将它传递给需要它的对象的构造函数.

使用IOC容器时会带来什么样的差异和好处,因为它不会使我的东西比第一个解决方案更独立. IOC容器如何在内部进行?它与第一个解决方案不同吗?

如何在没有容器的情况下实施DI?你什么时候切换到IoC容器?

我的意思是除了我想到的那个之外还有其他方法来实现DI,以便我可以使用最好的方法吗?

我想一个容器为你做了很多锅炉板代码.例如,它完全按照您的说法执行,根据反映的行为实例化一个类.许多容器还允许您根据配置文件显式配置系统.

IOC或DI仅是概念. IOC / DI概念为您提供了您所青睐的“不依赖”.实际实施可能有所不同.您可以在不使用第三方容器的情况下执行此操作 – 或者编写自己的容器.或者,您可以利用经过充分测试的第三方容器提供的功能.

如果您只想注入不同类型的数据库连接,那么您对IOC / DI的需求非常小.一般来说,IOC / DI(注意,不是容器,这只是IOC / DI的实现)为您提供完全可配置的软件,有助于单元测试(通过注入存根),自我配置等.

通常,IOC / DI在以下情况下是必需的:

>你的软件是如此庞大和复杂,没有任何一个人可以把它全部放在脑海中,或者>有许多不同的配置,您不希望自定义构建,或>在各个部分之间是如此相互依赖,你发现很难单独测试每一件

网友评论