单一职责原则 (Single Responsibility Principle)

单一职责原则(SRP)是软件设计的重要原则之一,它提倡一个类应专注于一个特定的职责。文章通过实例展示了如何因类职责过多导致的耦合问题,并解释了如何通过拆分类来遵循SRP,以降低变更风险和提高代码可维护性。正确的设计可以减少不必要的变更传播,简化测试和部署流程。
摘要由CSDN通过智能技术生成

单一职责原则 (Single Responsibility Principle)

定义: 就一个类而言,应该仅有一个引起它变化的原因(通俗说:一个类只负责一项职责)

为什么需要单一职责呢?如果一个类承担的职责过多,就等于把这些职责耦合在一起了,一个职责的变化可能会引起其它职责的变化,当变化发生时,设计会遭到意想不到的变化。

  • 如下图:Member 类有俩方法,一个是获取会员等级 getLevel() ,一个是计算会员折扣 discount(),Order 类要调用 getLevel() 和 discount() 方法,User 类要只调用 discount() 方法;
    在这里插入图片描述
    这个设计违反类 SRP ,如果其中一个使用类的改变导致 Member 改变,这样会导致其它使用类也需要变更、测试、部署等问题。
  • 正确的方式如下:将原来的 Member 类拆分两个职责类,如下图:
    在这里插入图片描述
    但是,如果类的变化总是导致这两个职责的同时变化,那么就不必分离它们,实际上,分离它们可能会导致复杂性增加。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值