码迷,mamicode.com
首页 > 其他好文 > 详细

职责链模式

时间:2017-10-05 12:25:24      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:接受   另一个   动态   dash   blog   经理   ges   简单   功能   

职责链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

我们先来看一下职责链模式的结构图:

技术分享

首先职责链模式会定义一个所有处理请求的对象都要继承实现的抽象类,这样就有利于随时切换新的实现。其次每个处理请求对象只实现业务流程中的一步业务处理,这样使其变得简单。最后职责链模式会动态地来组合这些处理请求的对象,把它们按照流程组合起来,并要求它们依次调用,这样就动态地实现了流程。

这样一来,如果流程发生了变化,只要重新组合就可以了。如果某个处理业务功能发生了变化,一个方案是修改处理对应的处理对象。另一个是直接提供新的实现,然后在组合流程的时候,用新的实现替换掉旧的实现就可以了。

我们以一个实际例子:员工向领导请假 员工申请——>部门经理(请假天数小于3天)——>总监(请假天数小于5天)——>总经理  来实现相应代码:

 

职责链模式

标签:接受   另一个   动态   dash   blog   经理   ges   简单   功能   

原文地址:http://www.cnblogs.com/hanmeimei/p/7628851.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!