简介
什么是单一职责原则
单一职责原则(Single Responsibility Principle, SRP):即一个类只负责相应领域的职责,即不要存在多于一个导致类变更的原因。(There should never be more than one reason for a class to change。)
起源
罗伯特·C·马丁(Robert C. Martin)于《敏捷软件开发:原则、模式和实践》一书中给出。马丁表示此原则是基于汤姆·狄马克(Tom DeMarco)和Meilir Page-Jones的著作中的内聚性原则发展出的。
为什么要使用单一职责原则
一个类承担的职责越多,当一个职责变化时,其他职责受到影响的可能性就越大,软件出现错误的可能性就越大。
优缺点
优点
- 降低类的复杂度。一个只有一个职责的类肯定比有多个职责的类要简单。
- 降低因职责修改带来的风险。
缺点
- 说是缺点其实不准确。在实际操作中,想要遵循单一职责原则总是受到种种约束。要注意,原则是死的,人是活的,要根据实际情况来决定是否要遵循单一职责原则。
问题
有哪些设计模式遵循了单一职责原则
- 迭代器模式。将聚合器类的遍历职责剥离出来,使聚合器类遵守“单一职责原则”。
欢迎补充。
在软件开发中,你在哪里用到了单一职责原则?
欢迎补充。