面向对象设计原则一——单一职责原则

单一职责原则定义(Single Responsibility Principle,SRP)

一个对象应该只包含 单一的职责,并且该职责被完整地封装在一个类中。

Every  Object should have  a single responsibility,and that responsibility should be entirely encapsulated by the class..

就一个类而言,应该仅有一个引起它变化的原因。

There should never be more than one reason for a class to change.


单一职责原则分析

一个类(或者 大到模块,小到方法)承担的职责越多,它被复用的可能性就越小,而且如果一个类承担的职责过多,就相当于将这些职责耦合在一起,当其中一个职责变化时,可能会影响其他职责的运作。

类的职责主要包括两个方面:数据职责和行为职责,数据职责通过其属性来体现,而行为职责通过其方法来体现。

单一职责原则是实现 高内聚、低耦合 的指导方针,在很多代码重构手法中都能找到它的存在,它是最简单但又最难运用的原则,需要设计人员发现类的不同职责并将其分离,而发现类的多重职责需要设计人员具有较强的分析设计能力和相关重构经验。


应用实例


登录功能 Login:


使用单一职责原则对其进行重构:




相关文章

什么是设计模式一套被反复使用、多数人知晓的、经过分类编目...
单一职责原则定义(Single Responsibility Principle,SRP)...
动态代理和CGLib代理分不清吗,看看这篇文章,写的非常好,强...
适配器模式将一个类的接口转换成客户期望的另一个接口,使得...
策略模式定义了一系列算法族,并封装在类中,它们之间可以互...
设计模式讲的是如何编写可扩展、可维护、可读的高质量代码,...