设计模式--责任链模式

2017-07-18  本文已影响0人  NahuelK

      责任链模式是一种行为设计模式,它的应用场景是多个对象同时处理同一个请求,但是由哪一个对象处理那么在运行的时候决定。

一. 定义

1. 使多个对象有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。

2. 将这些对象连成一条链,并沿着这条链传递该请求,知道有对象处理他为止。

二. 角色划分

1. 简化版本

角色一: Handler(抽象处理对象),声明一个处理方法,并且在其中保持一个对下一个处理节点对象的引用

角色二: ConcreteHandler(具体的处理角色),对对象请求进行处理,如果不能处理,将这个请求转发给下一个节点的对象进行请求。

2. 复杂版本

开发中:请求是一个对象(是一个类)

角色一:NahuelKang_Leader(抽象处理对象)

角色二:NahuelKang_Group(具体的处理角色1)

角色三:NahuelKang_Manager(具体的处理角色2)

角色四:NahuelKang_Boss(具体的处理角色3)

角色五:Request(抽象请求对象)

角色六:NahuelKang_ExpenseAccount(具体的请求角色1)

角色七:客户端

总结:个人觉得责任链模式有点像数据结构里面的单向链表,对处理事件进行单向传递处理。

上一篇 下一篇

猜你喜欢

热点阅读