你不知道的SOLID之SRP-单一职责原则

前言

经常会听见这么一句话:底层逻辑决定上限,这不最近又在重新筑基,今天向大家汇报一下最近的一个学习成果:SRP-单一职责原则。如果只看名字很容易理解错误这个原则代表的意义,我第一次看到的时候想当然的认为:单一职责代表的意思就是:每个类或者每个方法都只能完成一项工作。但是认真学习之后才发现自己想的是多么的狭隘

一、再看SRP

我们首先看一下《架构整洁之道》书中对SRP的定义:任何一个软件模块都应该只对某一类行为者负责

我的理解是在这个概念中主要有两个比较重要的组成部分:软件模块和一类行为

  1. 软件模块:软件模块虽然包含模块这两个字,其实是一个泛指,一个源文件也其组成的一部分
  2. 一类行为:一类行为并不仅仅指仅实现一个功能,不和其他的功能耦合,他也指某一领域模型的一类行为。

从概念上看还是感觉很模糊,理解的还不是十分的深刻,那么我们举一个例子。
现在有一个Child类,有二个方法:studing、playing。studing方法是由文化课老师制定,并统计学习时间和并对实际的学习效果进行统计,playing方法是由体育老师制定,并统计运动时间及在不同时间下的孩子们的体质情况。

现在是把studing和playing方法放在了一个方法中去,但是这样可能会导致体育老师和文化课老师制定的计划相互影响。例如:孩子们在学习和参加体育锻炼的时候肯定不可能一直全情投入,刚开始的都用相同的比率去统计,为了避免重复代码,就会用相同的代码来实现。

但是接下来体育老师需要修改这个比率,运用更加科学的统计方法来进行统计,文化课老师没有修改这样就会导致一些问题。

二、后话

设计模式和设计原则的学习,需要温故而知新,经过一段时间的实践之后再回过头来学习和思考,总会有新的感悟和提高。希望咱们乘风破浪,更上一层楼

三、结语

道阻且长,行则将至,行而不辍,未来可期,加油。

原创不易,如果你觉得文章不错,对你的进步有那么一点帮助,那么就给个小心心,如果觉得文章非常对你的胃口,那么欢迎你关注我,或者关注个人的微信公众号 程序猿每日分享,这里有资源,有内推,有和你志同道合的朋友,咱们一起打怪升级。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿每日分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值