单一职责原则
来源:互联网 发布:webmethod 返回json 编辑:程序博客网 时间:2024/04/30 06:10
单一职责原则
概念定义
单一职责原则(Single Responsibility Principle,简称是SRP):应该有且仅有一个原因引起类的变更。通俗的说,即一个类只负责一项职责。
问题来源
类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生
改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发
生故障。
解决方案
遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,
T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障
风险;同理,当修改T2时,也不会使职责P1发生故障风险。
实例
上图这个接口设计得有问题,用户的属性(Property)和用户的行为(Behavior)没有分开,这是一个严重的错误!应该把用户的信息抽取成一个BO(Bussiness Object,业务对象),把行为抽取成一个BIZ(Business Logic,业务逻辑),按照这个思路对类图进行修正,如下图所示。
总结
接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。
0 0
- 单一职责原则(SRP)
- 单一职责原则--SRP
- 单一职责原则
- 单一职责原则
- 单一职责原则SRP
- SRP单一职责原则
- 单一职责原则--SRP
- 单一职责原则
- 单一职责原则--SRP
- 单一职责原则
- SRP:单一职责原则
- 单一职责原则
- 单一职责原则
- 单一职责原则?
- 2.2 单一职责原则
- 单一职责原则
- 单一职责原则
- 单一职责原则--SRP
- Npm 安装weex-toolkit 使用淘宝镜像
- 关于Fresco的介绍
- 怎么导入从github上下载下来的android studio项目
- 函数
- 一天一条Linux指令-命令总目录
- 单一职责原则
- Redux 入门了解
- Leetcode 134 Gas Station
- Redis之Set 集合类型
- python网络编程
- ue4 AddLocalOffset 不起作用
- 教父大片经典语录
- AsyncTask(二)AsyncTask源码分析(基于android-24)
- 极限初学者常遇到的几个坑(一)