职责链模式
职责链模式避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。
职责链模式实例之审批假条
从类图可知,Direcor、Manager、GeneralManager泛化继承并实现了Leader的handleRequest接口,当具体处理者无法处理请求的时候,会传递给下家successor(上级)来处理,谁能处理就交给谁处理,不能处理就将请求传递给上级,从而形成一条职责链。
下面是c++版本的实现
请求类LeaveRequest
//请求类LeaveRequest
class LeaveRequest{
public:
LeaveRequest(string leaveName,int leaveDays){
this->leaveName = leaveName;
this->leaveDays = leaveDays;
}
void setLeaveName(string leaveName){
this->leaveName = lea