顾名思义,责任链就是将多个处理单元串成链路,是一种行为模式。
1:需要顶一个抽象类或者接口,此抽象类定义一个处理业务功能函数
2:定义一个此抽象类变量,比如通过next函数来链接下一个 需要处理业务对象,以此链接
3:定义具体处理业务对象并继承抽象类
4:按照需求从某个初始化的业务对象开始,以此递归,直到所有责任对象业务处理完毕
下面我们以登录作为例子,来具体说说责任链模式应用。
登录过程一般经历下面几个流程:用户判断----账号密码判断----验证码校验
# Handler
public abstract class Handler {
protected Handler next;
public abstract void doHandler(Member member);
public void next(Handler handler) {
this.next = handler;
}
}