黑马程序员_单一职责原则
来源:互联网 发布:免费字体软件下载 编辑:程序博客网 时间:2024/06/08 08:52
------- android培训、java培训、期待与您交流! ----------
单一职责原则
单一职责原则的定义:应该有且仅有一个原因引起类的变更。
例:在线视频通话
面向接口编程,给这个过程定义一个接口。
public interface Video{ //连接对方 public void connect(String ID); //视频 public void communication(Object obj); //挂断 public void hangup();}
单一职责最难划分的就是职责了,那上面这个接口是单一职责的吗?
显然上面这个接口拥有两个职责,一个是完成通信协议的管理( 连接和挂断 ),二是视频数据的传输。这里就有两个原因引起类的变化。并且两个职责并不相互影响,可以考虑拆分成两个独立接口。
public interface ConnectionManager{public void connect(String ID);public void hangup();}public interface DataTransfer{public void communication(Object obj);}
DataTransfer接口是依赖ConnectionManager的。(只有先连接好了,才能传输数据)
单一职责原则的优点:
<1>类的复杂性降低,实现什么职责都有清晰明确的定义。
<2>可读性提高。
<3>可维护性提高。
<4>变更引起的风险降低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口没有影响,这对系统的扩展性,维护性都有非常大的帮助。
单一职责原则提出了一个编写程序的参考,用“职责”来衡量接口或类设计得是否优良,但职责是不可度量的,因项目而已,因环境而异。所以还得看具体需求。
单一职责原则适用于接口,类,同时也适用于方法。一个方法尽可能只做一件事情。但现实总与理论有一定的距离。现实项目中类的单一职责受到非常多因素的制约,所以很难见到。
但接口和方法一般是可以做到单一职责原则的,类就随缘吧。
------- android培训、java培训、期待与您交流! ----------
- 黑马程序员_单一职责原则
- 1_单一职责原则
- java设计模式_单一职责原则
- 六大设计原则之一_单一职责原则(SRP)
- 单一职责原则(SRP)
- 单一职责原则--SRP
- 单一职责原则
- 单一职责原则
- 单一职责原则SRP
- SRP单一职责原则
- 单一职责原则--SRP
- 单一职责原则
- 单一职责原则--SRP
- 单一职责原则
- SRP:单一职责原则
- 单一职责原则
- 单一职责原则
- 单一职责原则?
- 使用CCCardinalSplineBy自定义路径
- 编译源码时出现 Checking API: checkapi-last (unknown): error 17解决方法
- mysql重装
- POJ 1584 判断凸包,点在多边形内外,点到直线最短距离
- 高效读写DB---目标
- 黑马程序员_单一职责原则
- top,parent,opener,iframe
- 怎么样减少模板特化的代码臃肿
- OceanBase Quick Start From Sourcecode
- 她和他的故事
- 编辑框(Edit)消息
- 链表翻转的递归和非递归算法
- 堆排序java语言描述
- 颜色对照表