敏捷软件开发 笔记--单一职责原则(SRP)

本文探讨了单一职责原则(SRP),解释了为何一个类应当只拥有一个引起其变化的原因。通过减少类的职责来降低耦合度,从而提高软件的可维护性和灵活性。文章还讨论了违反SRP可能导致的问题,如僵化性、脆弱性等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

就一个类而言,应该仅有一个引起它变化的原因。
原因:
1每一个职责都是变化的一个轴线,当需求变化时,该变化会反映为类的职责的变化。如果一个类承担了多于一个的职责,那么引起它变化的原因就会有多个。
2如果一个类承担的职责过多,就等于把这些职责耦合在了一起。一个职责的变化可能会削弱或则抑制这个类完成其他职责的能力。
什么是职责?
在SRP中,把职责定义为“变化的原因”。如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。
软件的臭味?
1僵化性:很难对系统进行改动,因为每个改动都会迫使许多对系统其他部分的其他改动。
2脆弱性:对系统的改动会导致系统总和改动的地方在概念上无关的许多地方出现问题。
3牢固性:很难解开系统的纠结,使之成为一些可在其他系统中重用的组件。
4粘滞性:做正确的事情比做错误的事情要困难。
5不必要的复杂性:设计中包含有不具任何直接好处的基础结构。
6不必要的重复:设计中包含有重复的结构,而该重复的结构本可以使用单一的抽象进行统一。
7晦涩性:很难阅读,理解。没有很好地表现出意图。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值