首页 > 代码库 > 五大设计原则------依赖倒置

五大设计原则------依赖倒置

依赖倒置原则的定义:

  高层模块不应该依赖你低层模块,两者都应该依赖其抽象。    抽象不应该依赖细节。    细节应该依赖抽象。

 抽象就是指接口或抽象类,两者都是不能被直接实例化的。细节就是实现类,实现接口或继承抽象类而产生的类就是绿茸茸,其特点就是可以直接被实例化。也就是可以加上一个关键字 new 产生一个对象

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

采用依赖倒置原则可以减少类间的耦合性,提高系统的稳定性,降低并行开发引起的风险,提高代码的可读性和可维护性。

依赖的三种写法

对象的依赖关系有三种方式来传递: 1. 构造函数传递依赖对象

在类中通过构造函数声明依赖对象,按照依赖注入的说法,这种方式叫做 构造函数注入。

2. Setter  方法传递依赖

  在抽象中设置 Setter 方法声明依赖关系,依照依赖注入的说法,这是 Setter 依赖注入。

 3.接口声明依赖对象

    在接口方法中声明依赖对象,这种方式叫做 接口注入

最佳实践: 依赖倒置原则的本质已经通过抽象(接口或抽象类)使各个 灶或模块的实现彼此独立,不互相影响,实现模块间的松耦合,那在项目中怎么使用这个规则呢? 只要遵循以下的几个 规则就可以: 1. 每个类尽量都有接口或抽象类,或者抽象类和接口两者都具备, 这是依赖倒置的基本要求,接口和抽象类都 是属于抽象的,有了抽象才可能依赖倒置

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

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

4. 尽量不要覆写基类的方法     如果一个基类一个抽象类,而且这个 方法已经实现了,尽量不要覆写,类间依赖的是抽象,覆写了抽象方法,对依赖的稳定性会产生一定的影响。

5. 结合里氏替换原则使用      接口负责定义 public 属性和方法,并且声明与其它对象的依赖,抽象类负责公共构造部分的病,实现类准确的实现业务逻辑,同时在适当的时候对父类进行细化。

  依赖倒置原则在小型项目中很难体现出来,但是,在一个大型项目中,采用依赖倒置原则有非常多的优点,特别是回避一些非技术因素引起的问题,项目越大,需求变化的概率也越大,通过彩依赖倒置设计的接口或抽象类对实现类进行约束,可以减少需求变化的工作量剧增的情况。

  依赖倒置原则是6个设计则中最难以寅实现的原则,它是实现开闭的重要 途径,依赖倒置原则没有实现,就别想峄扩展开放,对修改关闭。在项目中,大家只要记住是”面向接口编程“就基本上抓住了依赖倒置原则的核心。

 

五大设计原则------依赖倒置