第二十九讲:基础四依赖倒转原则

细节:实现层,


抽象不应该依赖于细节,细节应该依赖于抽象这一点没有违背,违背了高层模块不依赖于底层模块,两者都依赖于抽象这一点.

电脑:高层模块  主板、内存、硬盘:底层模块

JAVA语言特性:父类引用指向子类对象.


抽象层:MainBoard、Memory、HardDisk

高层业务逻辑:Computer

实现层:HuaSuoMainBoard.java、JinBangMemory.java、JinshiDunMemory.java、WeixingMainBoard.java、XiJieHardDisk.java、XiShuHardDisk.java

抽象不应该依赖于细节,细节应该依赖于抽象.

高层模块不依赖于底层模块,两者都依赖于抽象. 


  

所以这里高层模块依赖的是抽象.Fruit是一个抽象类或者是接口.

假设FruitFactory是高层模块,它依赖的是抽象层(Fruit).而这个Banana或者是Apple也是依赖Fruit的.因为它们里面都是包含了get()采集方法.

这就是工厂方法模式的依赖倒转原则.


原文地址:https://www.cnblogs.com/ZHONGZHENHUA/p/6763776.html