什么是责任链设计模式
责任链模式是指一个需要多个过程或者角色参与处理,并给予某个约定组成一个链,每个过程或者角色拥有各自职责进行处理。责任链模式有效组织一个过程处理,同时子过程之间职责明确。
使用场景
(1)在公司OA系统请假审批流程
如果请假小于3天只需要项目经历批复
如果请假大于3天小于7天需要人事经理批复
如果请假大于7天小于15天需要总经理批复
(2)公司报销流程
金额小于1000的,经理审查
金额超过1000的,总经理审查
责任链设计模式包含的角色
Handler:抽象处理 -- 定义一个处理请求的接口,接口可以定义一个方法,以设定和返回对下家的引用,通常由一个抽象类或接口实现
ConcreteHandler:具体处理者 -- 具体请求者在接收到请求后,如果满足条件则自己处理,否则将请求传递到下家,具体处理者持有下家对象的引用
Client:客户端 -- 调用者
结构示意图