本文共 1578 字,大约阅读时间需要 5 分钟。
小员工要求老板发聚餐费,各个等级的老板能够批准的额度是不一样的,上级批不了给上上级,上上级批不了给上上上级,一直往上直到最终大boss。
public abstract class Handler { protected Handler successor; public abstract void handleRequest(int money); public Handler getSuccessor() { return successor; } public void setSuccessor(Handler successor) { this.successor = successor; }}责任链接口,每个上级还有自己的处理方法和上级boss的信息。
小boss:
public class SmallBoss extends Handler { @Override public void handleRequest(int money) { if (money < 100) { System.out.println("小于100块,哥批准了"); } else { System.out.println("艹,这么多钱,交给我领导处理。"); getSuccessor().handleRequest(money); } }}
中boss:
public class MiddleBoss extends Handler { @Override public void handleRequest(int money) { if (money < 500) { System.out.println("小于500的,哥处理了"); } else { System.out.println("哥处理不了,给我领导吧"); getSuccessor().handleRequest(money); } }} 大Boss
public class BigBoss extends Handler { @Override public void handleRequest(int money) { if (money < 1000) { System.out.println("我处理了,哥批准了"); } else { System.out.println("我处理了,你明天不用来了"); } }}
测试:
public class Main { public static void main(String[] args) { Handler handler = new SmallBoss(); Handler handler1 = new MiddleBoss(); Handler handler2 = new BigBoss(); handler.setSuccessor(handler1); handler1.setSuccessor(handler2); handler.handleRequest(13000); }}
艹,这么多钱,交给我领导处理。哥处理不了,给我领导吧我处理了,你明天不用来了
转载地址:http://pmjqi.baihongyu.com/