什么是依赖?
当A类需要实例化B类后使用B类的成员才可正常工作时
我们称作A类对B类产生了依赖
什么是抽象?
抽象是一个概念
c#中的抽象有抽象类和接口
依赖倒置
这个概念很唬人,看起来就像是在说 把依赖倒过来
但是 依赖倒置其实指的是
[上层]不应该依赖于[下层] 它们都应该依赖于[抽象]
控制反转
也是个唬人的说法,并不是字面意思上的反转
而是
将[控制权]交给第三方
依赖注入
这个就字面理解
通过第三方将[下层]的[依赖]注入[上层]
三者之间的关系
依赖倒置原则是设计模式六大原则之一
[控制反转]和[依赖注入]是[依赖倒置原则]的具体实现
控制反转通过上层去描述 依赖注入通过下层描述 它们相辅相成
也有人说依赖注入是控制反转的具体实现 控制反转是依赖倒置的具体实现
有一定道理 不过个人以为不太合适