职责链模式
来源:互联网 发布:nico sm是什么软件 编辑:程序博客网 时间:2024/06/08 02:21
职责链模式
职责链是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。
灵活性
1、 改变内部的传递规则。
在内部,项目经理完全可以跳过人事部到那一关直接找到总经理。
每个人都可以去动态地指定他的继任者。
2、可以从职责链任何一关开始。
3、 我们来比较一下,用职责链和不用职责链的区别:
这是不用职责链我们的结构,我们需要和公司中的每一个层级都发生耦合关系。
如果反映在代码上即使我们需要在一个类中去写上很多丑陋的if….else语句。
职责链的缺点
让我们继续回到上面的例子,我们发现,其实当请假时间超过2天的时候,PM和HR其实没有做任何的事情,而只是做了一个传递工作。
而传递工作之后,他们就成了垃圾对象。
也就是说,他们在实际的处理中,并没有发挥任何的作用。
那么当这个链结构比较长,比较复杂的话,会产生很多的内存垃圾对象。
这也就是职责链的最大缺点之所在。
0 0
- 职责链设计模式
- 职责链模式
- 职责链模式
- 职责链模式
- ChainOfResponsibility(职责链)模式
- 职责链模式ChainOfResponsibility
- 职责链模式
- 职责链模式 ResponsibilityChainPattern
- 【设计模式】职责链
- 职责链模式
- java职责链模式
- 职责链模式
- 职责链模式
- 职责链模式(python)
- 职责链模式
- 职责链模式
- 职责链模式
- 职责链模式
- centOs修改网卡名
- ZOJ 3929 Deque and Balls
- LRU Cache数据结构
- activiti自定义流程之整合(四):整合自定义表单部署流程定义
- tomcat + memcached 实现session共享
- 职责链模式
- 三角形(4)
- Facebook第三方登陆
- storm 报错:java.nio.channels.ClosedChannelException: null
- 三角形(5)
- Android Activity启动过程简读 <1>
- CNN代码解析
- ListView(二)——常用
- opencv之Mat 类赋值的理解