码迷,mamicode.com
首页 > 编程语言 > 详细

Java的开发—面向对象的7大原则之依赖倒置原则(一)

时间:2020-03-02 14:26:10      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:actions   cti   modules   属性   派生   应该   替换   翻译   对象   

一.定义:

依赖倒置原则(Dependecy Inversion Principle)

原文为:

High level modules shouldnot depend upon low level modules.Both should depend upon abstractions.Abstractions should not depend upon details. Details should depend upon abstractions

三层定义:

1.高层模块不应该依赖底层模块。两者都应该依赖于抽象
有人翻译成低层我个人理解是底层:底层就是说某个抽象的实现类这样的就是具体的实现

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

3.细节应该依赖抽象

三层定义的理解:

1.高层模块:调用方;底层模块:被调用方也就是实现类
有说高层就是抽象类,然而并不是这样子,高层可以是抽象类也可以是具体的类或者某一实现类,它掉用别人它就是高层

2.模块之间通过抽象关联,实现类之间不直接依赖:依赖都通过抽象或者接口

3.抽象和接口不依赖于实现类

4.实现类不依赖于抽象和接口

5.就是面向抽象或者接口编程:降低耦合度,降低并行开发引起的风险,提高可读性和可维护性

深入理解:

依赖倒置原则的本质就是面向接口编程,通过抽象使各个类和模块之间彼此独立,互不影响,实现松耦合,开发过程中具体规则如下:

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

2.任何类都需要充接口或者抽象类派生

3.尽量不要重写基类已经写好的方法(里氏替换原则)

4.结合里氏替换原则:

接口负责定义public属性和方法,并申明和其他对象的依赖关系(通过接口或者抽象依赖),抽象类负责公共构造部分,实现类实现业务

Java的开发—面向对象的7大原则之依赖倒置原则(一)

标签:actions   cti   modules   属性   派生   应该   替换   翻译   对象   

原文地址:https://www.cnblogs.com/kukufan/p/12395248.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!