1.单一职责原则简介


单一职责原则(SRP:Single responsibility principle)又称单一功能原则,面向对象六个基本原则(SOLID)之一。它规定一个类应该只有一个发生变化的原因


单一职责原则是最简单的面对对象设计原则,它用于控制类的粒度大小。在软件系统中,一个类(大到模块,小到方法)承担的职责越多,它被复用的可能性就越小,而且一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其他职责的运作,因此要将这些职责进行分离,将不同的职责封装在不同的类中,即将不同的变化原因封装在不同的类中,如果多个职责总是同时发生改变则可将它们封装在同一类中。




2.代码举例

需求描述:描述动物喜爱的食物。


2.1.普通

Java Bean

Android 面向对象六大设计原则之单一职责原则


调用类

Android 面向对象六大设计原则之单一职责原则


结果

Android 面向对象六大设计原则之单一职责原则


那么问题来了,如果现在新添加几个动物,比如 狗和猫。它们是不吃草的。所以显然要修改Java Bean类



2.2.修改


吃草 Java Bean

Android 面向对象六大设计原则之单一职责原则

吃骨头 Java Bean

Android 面向对象六大设计原则之单一职责原则


吃老鼠 Java Bean

Android 面向对象六大设计原则之单一职责原则


调用类

Android 面向对象六大设计原则之单一职责原则



结果

Android 面向对象六大设计原则之单一职责原则



2.3.当然也可以使用一个动物类,而把吃方法的参数添加一个即可

Java Bean

Android 面向对象六大设计原则之单一职责原则


调用类

Android 面向对象六大设计原则之单一职责原则



结果

Android 面向对象六大设计原则之单一职责原则



附:

高内聚 低耦合


1.基本概念

内聚性:又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。 


耦合性:又称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息 。


注:对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。 



2.高内聚低耦合系统的好处 

高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。 



3.关于低耦合

尽量使不同模块间少关联,即一个模块明确完成一个功能。但是一个模块内部又有许多子系统,子系统中的类之间不关联是不可能的,一个模块下的子系统要少用继承多用组合(使用组合时,就会使子系统的不同类之间产生关联)——总结一句话就是:模块之间要实现低耦合,模块下的类之间要多用组合少用继承。

相关文章:

  • 2021-11-12
  • 2022-12-23
  • 2021-08-20
  • 2021-12-07
  • 2021-09-01
  • 2021-08-10
  • 2021-12-11
  • 2021-12-31
猜你喜欢
  • 2021-07-23
  • 2021-10-14
  • 2021-09-20
相关资源
相似解决方案