依赖倒置原则、控制反转和依赖注入

1.依赖倒置原则:

  1)上层模块不依赖与下层模块,而是共同依赖于抽象模块(或者接口)。

  2)抽象的东西不能是具象,具象依赖于抽象。

2.控制反转(Inversion of Control):

  是软件运行时的一种行为。比如:对象A依赖于对象B,但是在B并不是直接去创建A,而是从外界取得A。就是说

  一个对象并不直接去创建它所以依赖的其他对象。

3.依赖注入(Dependency Injection):

  是控制反转的一个具体实现。就像上面说的一样,A的创建不是直接在B中创建,而是通过某些框架(比如Autoface)通过构造函数或者属性设置来完成。

  IoC,它把传统上由程序代码直接操控的对象的调用权交给容器,通过容器来实现对象组件的装配和管理。所谓的“控制反转”概念就是对组件对象控制权的

  转移,从程序代码本身转移到了外部容器。

原文地址:https://www.cnblogs.com/endlessdream/p/4777412.html