DIP(依赖倒置原则)
定义:①高层模块不应该依赖于底层模块,二者都应该依赖于抽象
② 抽象不应该依赖于细节,细节应该依赖于抽象
启发式规则:
①任何变量都不应该持有一个指向具体类的指针或引用
②任何类都不应该从具体类派生
③任何方法都不应该覆写它的任何基类中已经实现了的方法
实现方式:①动态多态性:使用抽象类的多态实现
②静态多态性:使用模版实现
理解:LSP和DIP是OCP的具体表现方式.
DIP(依赖倒置原则)
定义:①高层模块不应该依赖于底层模块,二者都应该依赖于抽象
② 抽象不应该依赖于细节,细节应该依赖于抽象
启发式规则:
①任何变量都不应该持有一个指向具体类的指针或引用
②任何类都不应该从具体类派生
③任何方法都不应该覆写它的任何基类中已经实现了的方法
实现方式:①动态多态性:使用抽象类的多态实现
②静态多态性:使用模版实现
理解:LSP和DIP是OCP的具体表现方式.