初看这个名字也许可能会觉得奇怪,到底是什么意思?其实翻译到java里面,就是以下三种表现:
- 模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类发生的。
- 接口或抽象类不依赖于实现类。
- 实现类依赖接口或抽象类。
如果我们仔细对比里氏替换原则的话,那么就会发现里氏替换原则说明了一种做法,但是依赖倒置原则呢?说明的是一种应该遵守的规范,跟面向接口编程的原则是差不多的。通过依赖倒置原则可以减少类间的耦合性,提高系统的稳定性,而且可以很好的实现多个成员之间的并行开发。
依赖注入的两种方法:通过构造函数注入,通过Setter方法注入。我个人理解的区别是,构造函数注入依赖性更大,就好像当前注入的对象是被注入对象的一部分。而setter注入只是一种附属关系,也就是被注入对象可以包含注入对象。
好了,今天的博客到这里,see you!