Intern Day5 - ASP.Net Core依赖注入

概念+相关名词解释

  1. 控制翻转 = Inversion Of Control = IOC

  2. 依赖注入 = Dependency Injection = DI

  3. 概念:控制反转IOC是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,还有一个名字叫做依赖注入DI。

  4. 两者关系:IOC是一种设计思想,而DI是这种设计思想的一个最典型的实现。

为什么要用控制反转和依赖注入

  • 如果一个类A的功能实现需要借助于类B,那么就称类B是类A的依赖,如果在类A的内部去实例化类B,那么两者之间会出现较高的耦合。 一旦B出现了问题,A也需要进行改造,如果这样的情况较多每个类之间都有很多依赖,程序会极难维护并且很容易出现问题。要解决这个问题,就要把A对B的控制权拿出来,交给一个第三方去做,把控制权反转给第三方,就叫控制反转。由第三方(我们称作IOC容器)来控制依赖,把它通过构造函数、属性或者工厂模式等方法,注入到A内,这样就极大程度的对A和B进行了解耦。

  • 好处:如果后期代码因改动量过大,这样做可以减少维护和管理的量。

  • 我自己的理解就是:把A本来需要从B获得的东西(依赖),通过第三方换一种方式给(注入)它。

依赖注入的概念和目的

  1. 概念:把有依赖关系的类放到容器中,解析出这些类的实例,就是依赖注入。是实现控制反转的一种手段。

  2. 目的:实现类的解耦。

IOC容器的作用

  1. 注册类型:把一些类注册到容器中。在我们当前这个环境下我们要 服务注册 。

  2. 解析实例。如果我们想要获取A类,我们在容器里注册一个A类,这时候我们想要获得A的实例,我们一般会去 new A () ,但是现在我们只需要直接从容器里来请求这个实例。

依赖注入的实现

参考

  1. 通俗故事解释:https://learnku.com/articles/44564

  2. 场景举例:
    Intern Day5 - ASP.Net Core依赖注入

  3. 参考视频:https://www.bilibili.com/video/BV1k7411A7Yv

  4. 参考博客:https://www.cnblogs.com/yjm8023/p/11858696.html

上一篇:初学python-day5 流程控制


下一篇:Python Day5 -字符串