美文网首页
敏捷软件开发 - 原则、模式与实践 —— 敏捷设计(二)单一责任

敏捷软件开发 - 原则、模式与实践 —— 敏捷设计(二)单一责任

作者: 李桐2000 | 来源:发表于2019-10-12 22:11 被阅读0次

    本文为敏捷软件开发 - 原则、模式与实践系列的一部分。

    本文对应原书第8章。

    单一责任原则 (SRP - The Single-Responsibility Principle)

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

    在SRP中,我们把职责定义为‘变化的原因’。如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。

    如果决定职责的粒度,要依赖于具体程序的变化方式。如果程序的变化会影响某一个细分职责,那就肯定要分开它们,否则会带来僵化性的臭味。但如果应用程序的变化总是导致这两个职责同时变化,那么久不必分开它们。实际上,分离它们反而会具有不必要的复杂性的臭味。变化的时机仅当实际发生时才具有真正的意义。如果没有征兆,那么去应用SRP,或者任何其他原则都是不明智的。

    结论

    SRP是所有原则中最简单的之一,也是最难正确运用的之一。我们会自然地把职责结合在一起。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。事实上,我们将要论述的其余原则都会以这样或那样的方式回到这个问题上。

    完整内容请查看敏捷软件开发 - 原则、模式与实践系列

    相关文章

      网友评论

          本文标题:敏捷软件开发 - 原则、模式与实践 —— 敏捷设计(二)单一责任

          本文链接:https://www.haomeiwen.com/subject/cdicmctx.html