面向对象设计基本原则之依赖倒置原则

依赖倒置原则,Dependence Inversion Principle,简称 DIP

含义:

1.高层模块不应该依赖低层模块,两者都应该依赖其对象;

2.抽象不应该依赖细节;

3.细节应该依赖抽象;

 

在JAVA语言中的表现是:

1.模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;

2.接口或抽象类不依赖于实现类;

3.实现类依赖接口或抽象类。

 

更加精简的定义就算“面向接口编程”------OOD(Object-Oriented Design,面向对象设计)的精髓之一

优点:

1.减少类间的耦合性

2.提高系统的稳定性

3.降低并行开发引起的风险

4.提高代码的可读性和可维护性

 

TDD(Test-Driven Development,测试驱动开发)开发模式是依赖倒置原则的最高级应用

测试驱动开发:先写好单元测试类,然后再写实现类,对提高代码质量有很大帮助,特别适合研发类项目或在项目成员整体水平比较低的情况下采用

 

对象的依赖方式:

1.构造函数传递依赖对象

2.Setter方法依赖对象

3.接口声明依赖对象

 

规则:

1.每个类尽量都有接口或抽象类,或者抽象类或接口两者都具备

2.变量的表面类型尽量是接口或者是抽象类

3.任何类都不应该从具体类派生

4.尽量不要覆写基类的方法

5.结合里式替换原则使用

 

 

 

 

你可能感兴趣的:(设计模式)