天天小说网

16.2 责任链模式的定义

el getHandlerLevel() {

//设置自己的处理级别

return null;

在处理者中涉及三个类:Level类负责定义请求和处理级别,Request类负责封装请求,Response负责封装链中返回的结果,该三个类都需要根据业务产生,读者可以在实际应用中完成相关的业务填充,其框架代码如代码清单16-16所示。

代码清单16-16 模式中有关框架代码

public class Level {

//定义一个请求和处理等级

public class Request {

//请求的等级

public Level getRequestLevel() {

return null;

public class Response {

//处理者返回的数据

在场景类或高层模块中对链进行组装,并传递请求,返回结果,如代码清单16-17所示。

代码清单16-17 场景类

public class Client {

public static void main(String[] args) {

//声明所有的处理节点

Handler handler1 = new ConcreteHandler1();

Handler handler2 = new ConcreteHandler2();

Handler handler3 = new ConcreteHandler3();

//设置链中的阶段顺序1-->2-->3handler1.setNext(handler2);

handler2.setNext(handler3);

//提交请求,返回结果

Response response = handler1.handlerMessage(new Request());

在实际应用中,一般会有一个封装类对责任模式进行封装,也就是替代Client类,直接返回链中的第一个处理者,具体链的设置不需要高层次模块关系,这样,更简化了高层次模块的调用,减少模块间的耦合,提高系统的灵活性。

更多内容加载中...请稍候...

若您看到此段落,代表章节内容加载失败,请关闭浏览器的阅读模式、畅读模式、小说模式,以及关闭广告屏蔽功能,或复制网址到其他浏览器阅读!

新书推荐

魔法使苍崎青子事件簿 红楼道爷 致郁系编剧 下海后,遇见魔女小姐 人在柯南,但是修罗场 诸天万古道 我在修仙界趋吉避凶 苟在美食的俘虏 从有风的地方开始的文娱 全民废土:我能无限强化避难所