面向对象程序设计六大原则-单一职责原则

时间:2022-03-26 19:11:28

简介

什么是单一职责原则

单一职责原则(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的著作中的内聚性原则发展出的。

为什么要使用单一职责原则

一个类承担的职责越多,当一个职责变化时,其他职责受到影响的可能性就越大,软件出现错误的可能性就越大。

优缺点

优点

  • 降低类的复杂度。一个只有一个职责的类肯定比有多个职责的类要简单。
  • 降低因职责修改带来的风险。

缺点

  • 说是缺点其实不准确。在实际操作中,想要遵循单一职责原则总是受到种种约束。要注意,原则是死的,人是活的,要根据实际情况来决定是否要遵循单一职责原则。

问题

有哪些设计模式遵循了单一职责原则

  • 迭代器模式。将聚合器类的遍历职责剥离出来,使聚合器类遵守“单一职责原则”。

欢迎补充。

在软件开发中,你在哪里用到了单一职责原则?

欢迎补充。