设计模式 责任链模式
2016-11-11 21:31
295 查看
先写一个接口
再写三个具体的处理器
再写测试类
public abstract class Handler { protected Handler successor; public void SetSuccessor(Handler successor) { this.successor=successor; } abstract void HandleRequest(int request); }
再写三个具体的处理器
public class ConcreteHandler1 extends Handler{ @Override void HandleRequest(int request) { // TODO Auto-generated method stub if(request>=0&&request<10) { System.out.println(this.getClass()+ "处理请求"+request); } else if(successor!=null) { successor.HandleRequest(request); } } }
public class ConcreteHandler2 extends Handler{ @Override void HandleRequest(int request) { // TODO Auto-generated method stub if(request>=10&&request<20) { System.out.println(this.getClass()+ "处理请求"+request); } else if(successor!=null) { successor.HandleRequest(request); } } }
public class ConcreteHandler3 extends Handler{ @Override void HandleRequest(int request) { // TODO Auto-generated method stub if(request>=20&&request<30) { System.out.println(this.getClass()+ "处理请求"+request); } else if(successor!=null) { successor.HandleRequest(request); } } }
再写测试类
public class Program { public static void main(String[] args) { // TODO Auto-generated method stub Handler handler1=new ConcreteHandler1(); Handler handler2=new ConcreteHandler2(); Handler handler3=new ConcreteHandler3(); handler1.SetSuccessor(handler2); handler2.SetSuccessor(handler3); int[] requests ={2,5,14,22,18,3,27,20}; for (int request : requests) { handler1.HandleRequest(request); } } }
相关文章推荐
- GoF23种设计模式之行为型模式之责任链模式
- 设计模式GOF23——责任链模式
- 23种设计模式(20):责任链模式(二)
- 设计模式-行为设计模式:责任链模式 ResponsibilityChain
- 设计模式:责任链模式(Chain of Responsibility)
- Android设计模式源码解析之责任链模式
- 设计模式之责任链模式
- 设计模式之责任链模式_动力节点Java学院整理
- 设计模式-行为型- 责任链模式(Chain of Responsibility)
- 设计模式实例学习-责任链模式
- C语言和设计模式(责任链模式)
- Java设计模式——责任链模式
- 设计模式-责任链模式
- PHP设计模式之责任链模式的深入解析
- JAVA设计模式学习——责任链模式
- 设计模式:责任链模式(Chain of Responsibility)
- JAVA啊设计模式之责任链模式
- 设计模式(17) 责任链模式(简单入门 行为模式)
- java设计模式(十三)--责任链模式
- 设计模式——责任链模式小结