打字猴:1.70046457e+09
1700464570 public class Response{
1700464571
1700464572 //处理者返回的数据
1700464573
1700464574 }
1700464575
1700464576 在场景类或高层模块中对链进行组装,并传递请求,返回结果,如代码清单16-17所示。
1700464577
1700464578 代码清单16-17 场景类
1700464579
1700464580 public class Client{
1700464581
1700464582 public static void main(String[]args){
1700464583
1700464584 //声明所有的处理节点
1700464585
1700464586 Handler handler1=new ConcreteHandler1();
1700464587
1700464588 Handler handler2=new ConcreteHandler2();
1700464589
1700464590 Handler handler3=new ConcreteHandler3();
1700464591
1700464592 //设置链中的阶段顺序1—>2—>3
1700464593
1700464594 handler1.setNext(handler2);
1700464595
1700464596 handler2.setNext(handler3);
1700464597
1700464598 //提交请求,返回结果
1700464599
1700464600 Response response=handler1.handlerMessage(new Request());
1700464601
1700464602 }
1700464603
1700464604 }
1700464605
1700464606 在实际应用中,一般会有一个封装类对责任模式进行封装,也就是替代Client类,直接返回链中第一个处理者,具体链的设置不需要高层次模块关系,这样,更简化了高层次模块的调用,减少模块间的耦合,提高系统的灵活性。
1700464607
1700464608
1700464609
1700464610
1700464611 设计模式之禅 [:1700453988]
1700464612 设计模式之禅 16.3 责任链模式的应用
1700464613
1700464614 16.3.1 责任链模式的优点
1700464615
1700464616 责任链模式非常显著的优点是将请求和处理分开。请求者可以不用知道是谁处理的,处理者可以不用知道请求的全貌(例如在J2EE项目开发中,可以剥离出无状态Bean由责任链处理),两者解耦,提高系统的灵活性。
1700464617
1700464618
1700464619
[ 上一页 ]  [ :1.70046457e+09 ]  [ 下一页 ]