java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java面向对象设计单一职责与依赖倒置原则

java面向对象设计原则之单一职责与依赖倒置原则详解

作者:guoyp2126

这篇文章主要介绍了java面向对象设计原则之单一职责与依赖倒置原则的分析详解,有需要的朋友可以借鉴参考下,希望可以有所帮助,祝大家多多进步早日升职加薪

单一职责概念

不要存在多于一个导致类变更的原因,也就是说每个类应该实现单一的职责,否则就应该把类拆分。交杂不清的职责将使得代码牵一发而动全身,导致代码混涩难懂,不易修改、难以扩展和复用。如:以前开发C/S程序中的胖客户端程序,就是将人机交互逻辑、业务加工处理逻辑和数据库操作逻辑混合在一起。

实现

单一职责原则是进行类的划分和封装的基本原则,进行类的具体抽象。尽量做到,类的功能单一和清晰化。

1.根据机能划分,使用封装来创建对象之间的分界层,让设计者可以在分界层的一侧进行修改,而不会对另一侧产生不良的影响,从而实现层次间的松耦合。
2.当前开发框架一般为分层框架,在分层框架中,已经明确给出了各层的职责,对于业务简单的小型系统,个人认为类的划分按照以下步骤即可。

拓展

单一职责原则是写代码最容易违反的一个原则,违反此原则代码立即转换成all in one;
虽然很多框架明确规定各层职责,但程序员经常将代码写到一处;
虽然使用面向对象语言,还是面向过程调用

依赖倒置原则概念

依赖倒置原则要求依赖抽象,不要依赖具体;抽象的稳定性决定了系统的稳定性,因为抽象是不变的,依赖于抽象是面向对象设计的精髓。

示例

参考:要依赖于抽象,不要依赖于具体

拓展

控制翻转(IOC):里氏替换原则解决了子类可以替换父类的问题,但是子类在什么时候创建,由谁创建就是依赖倒置原则要解决的问题。对象使用前,必须创建具体的对象,如A类中调用了B类的方法,则在A类里面需要创建B的实例对象,则A依赖于B。现在让A依赖于B的父类(接口),A不创建B实例,而是把创建实例的权限交给容器,由容器创建实例给A,容器给那个实例,A用那个实例,A控制权丢失。所谓的容器就是一段代码,如:工厂类、Spring容器等。

以上就是java面向对象设计原则之单一职责与依赖倒置原则详解的详细内容,更多关于java面向对象设原则的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文