责任链模式

2021-04-15  本文已影响0人  joeylong
1、责任链模式定义:

当有请求处理时,可将请求沿着链路传递,直到有对象处理为止。

2、责任链模式优点:

每个类单一处理自己的职责,不该处理的传给下一个对象处理,明确范围职责。

3、责任链模式结构:
4、代码
/**
 * 抽象处理者
 */
@Data
abstract class  Employees {
    private Employees next;
    public Employees getNext() {
        return next;
    }
    //处理请求的方法
    public abstract void handleRequest(int day);
}
/**
 * 具体处理者
 */
public class Manager extends Employees {

    @Override
    public void handleRequest(int day) {
        if(day <= 5){
            System.out.println("经理审批");
        } else {
            System.out.println("经理无法审批,下一个");
            if(getNext() != null){
                getNext().handleRequest(day);
            }else {
                System.out.println("请假天数太多,没有人批准该假条!");
            }
        }
    }
}
/**
 * 具体处理者
 */
public class GroupLeader extends Employees {
    @Override
    public void handleRequest(int day) {
        if(day <= 2){
            System.out.println("组长审批");
        } else {
            System.out.println("组长无法审批,下一个");
            if(getNext() != null){
                getNext().handleRequest(day);
            }else {
                System.out.println("请假天数太多,没有人批准该假条!");
            }
        }
    }
}
/**
 * 测试
 */
public class responsibilityTest {
    public static void main(String[] args) {
        Employees groupLeader = new GroupLeader();
        Employees manager = new Manager();
        groupLeader.setNext(manager);
        groupLeader.handleRequest(8);
    }
}
上一篇下一篇

猜你喜欢

热点阅读