前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何使用单一职责原则

如何使用单一职责原则

作者头像
十毛
发布2022-01-12 17:25:14
1580
发布2022-01-12 17:25:14
举报

编程设计原则SOLID中,Single Responsibility Principle是最基础的一个原则,看起来比较简单,但是实际用好并不容易

如何判断是否符合单一职责原则

  • 没有判断职责是否单一的标准,同一个类在不同的业务范畴可能就有不同的结论。

比如用户信息中的地址信息,如果是一个简单的用户管理系统,地址信息属于用户,满足单一职责,但是如果是电商系统里的用户,地址可能会作为收货地址,通信地址等,就需要把地址信息独立出来

实际编码中的一些信号

如果出现以下情况,就是可能违反单一职责原则的信号

  • 类中的代码行数、函数或属性过多,会影响代码的可读性和可维护性,我们就需要考虑对类进行拆分;
  • 类依赖的其他类过多,或者依赖类的其他类过多,不符合高内聚、低耦合的设计思想,我们就需要考虑对类进行拆分;
  • 私有方法过多,我们就要考虑能否将私有方法独立到新的类中,设置为 public 方法,供更多的类使用,从而提高代码的复用性;
  • 比较难给类起一个合适名字,很难用一个业务名词概括,或者只能用一些笼统的 Manager、Context 之类的词语来命名,这就说明类的职责定义得可能不够清晰;
  • 类中大量的方法都是集中操作类中的某几个属性,比如,在 UserInfo 例子中,如果一半的方法都是在操作 address 信息,那就可以考虑将这几个属性和对应的方法拆分出来。

重构为单一职责的类或模块

类的职责也不是越单一越好,还是要考虑扩展性、可读性等,所有设计原则的目的瓯都市为了实现代码高内聚、低耦合,提高代码的复用性、可读性、可维护性。

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021.08.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何判断是否符合单一职责原则
  • 实际编码中的一些信号
  • 重构为单一职责的类或模块
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档