设计模式:如何使用单一职责原则

一、单一职责原则:single responsibility principle ——SRP

1、定义

一个类只负责完成一个职责或者功能。不要设计大而全的类,要设计粒度小、功能单一的类。单一原则是为了实现代码高内聚,低耦合,提高代码的复用性,可读性,可维护性。

2、判断标准

不同的应用场景,不同阶段的需求背景,不同的业务层面,对同一个类的职责是否单一,可能会有不同的判定结果。实际上,一些侧面的判断指标更具有指导意义和可执行性,比如出现下面这些情况可能说明这类的设计不满足单一职责原则:

(1)类中的代码行数,函数或者属性过多
(2)类依赖的其他类过多,或者依赖的类的其他类过多
(3)私有方法过多
(4)比较难给类起一个合适的名字
(5)类中大量的方法都集中操作类的某几个属性。

3、适用边界

单一职责原则通过避免设计大而全的类,避免将不相关的功能耦合在一起,来提高类的内聚性。同时,类职责单一,类依赖的和被依赖的其他类也会变少,减少代码的耦合性,以此来实现代码的高内聚,低耦合。但是,如果拆分过细,实际上会起到适得其反,反倒降低内聚性,也会影响代码的可维护性

4、案例

比如社交产品中,用户的地址信息只是单纯展示,可内聚在UserInfo用户信息类(姓名,手机号等)中。

如果产品添加电商模块,用户的地址信息会用在电商物流中,地址信息最好从UserInfo类中

拆分,独立成UserLogisticInfo用户物流信息类(地址信息,收货信息等)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值