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

本文深入解析单一责任原则(SRP),这是敏捷软件开发中至关重要的原则之一。SRP主张每个类只应有一个引起其变化的原因,旨在提高代码的可维护性和灵活性。文章探讨了如何识别职责并适当分离,以避免代码的僵化性和不必要的复杂性。

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

本文对应原书第8章。

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

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

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

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

结论

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值