Java责任链模式模板代码分享

本文分享了一则Java编程责任链模式的模板代码,代码中有详细注释,大家可以参考。具体如下:

//抽象处理者
public abstract class Handler{
 private Handler nextHandler;
 //每个处理者都必须对请求做出处理
 public final Response handleMessage(Request request){
   Response response = null;
   //判断是否自己的处理级别
   if(this.getHandlerLevel().equals(request.getRequestLevel())){
    response = this.echo(request);
   }else{
    //判断是否有下一个处理者
    if(this.nextHandler != null){
     response = this.nextHandler.handleMessage(request);
    }else{
     //没有适当的处理者
   }
  }
  return response;
 }
 //设置下一个处理者是谁
 public void setNext(Handler _handler){
   this.nextHandler = _handler;
 }
 //每个处理者都有一个处理级别
 protected abstract Level getHandlerLevel();
 //每个处理者都必须实现处理任务
 protected abstract Response echo(Request request);
} 

 //具体处理者1
publlic class ConcreteHandler1 extends Handler{
  //定义自己的处理逻辑
  protected Response echo(Request request){
   //完成处理逻辑
   return null;
  }
  //设置自己的处理级别
  protected Level getHandlerLevel(){
   //设置自己的处理级别
   return null;
  }
} 

//具体处理者2
publlic class ConcreteHandler2 extends Handler{
  //定义自己的处理逻辑
  protected Response echo(Request request){
   //完成处理逻辑
   return null;
  }
  //设置自己的处理级别
  protected Level getHandlerLevel(){
   //设置自己的处理级别
   return null;
  }
}  

//具体处理者3
publlic class ConcreteHandler3 extends Handler{
  //定义自己的处理逻辑
  protected Response echo(Request request){
   //完成处理逻辑
   return null;
  }
  //设置自己的处理级别
  protected Level getHandlerLevel(){
   //设置自己的处理级别
   return null;
  }
}  

//模式中有关框架的代码
public class Level{
 //定义一个请求和处理等级
}
public class Request{
 //请求的等级
 public Level getRequestLevel(){
  return null;
 }
}
public class Response{
 //处理返回者的数据
} 

//场景类
public class Client{
 public static void main(String[] args){
   //声明所有的处理节点
   Handler handler1 = new ConcreteHandler1();
   Handler handler2 = new ConcreteHandler2();
   Handler handler2 = new ConcreteHandler3();
   //设置链中的阶段顺序1-->2-->3
   handler1.setNext(handler2);
   handler2.setNext(handler3);
   //提交请求
   Response response = handler.handleMessage(new Request());
 }
} 

总结

以上就是本文关于Java责任链模式模板代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

您可能感兴趣的文章:

  • JAVA设计模式之责任链模式详解
  • 实例讲解Java的设计模式编程中责任链模式的运用
  • Java设计模式编程中的责任链模式使用示例
  • 轻松掌握java责任链模式
  • Java责任链模式定义与用法分析
  • Java经典设计模式之责任链模式原理与用法详解
  • 设计模式之责任链模式_动力节点Java学院整理
  • Java 中责任链模式实现的三种方式
(0)

相关推荐

  • Java 中责任链模式实现的三种方式

    责任链模式 责任链模式的定义:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系, 将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止.这里就不再过多的介绍什么是责任链模式,主要来说说java中如何编写.主要从下面3个框架中的代码中介绍. servlet中的filter dubbo中的filter mybatis中的plugin 这3个框架在实现责任链方式不尽相同. servlet中的Filter servlet中分别定义了一个 Filter和Filter

  • 设计模式之责任链模式_动力节点Java学院整理

    定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止. 类型:行为类模式 类图: 首先来看一段代码: public void test(int i, Request request){ if(i==1){ Handler1.response(request); }else if(i == 2){ Handler2.response(request); }else if(i == 3){ Handler3

  • 轻松掌握java责任链模式

    定义:责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链.这种模式给予请求的类型,对请求的发送者和接收者进行解耦.这种类型的设计模式属于行为型模式.在这种模式中,通常每个接收者都包含对另一个接收者的引用.如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推. 特点:1.降低耦合度.它将请求的发送者和接收者解耦. 2.简化了对象.使得对象不需要知道链的结构. 3.增强给对象指派职责的灵活性.通过改变链内的成员或者调动它们

  • Java经典设计模式之责任链模式原理与用法详解

    本文实例讲述了Java经典设计模式之责任链模式.分享给大家供大家参考,具体如下: 责任链模式:多个对象由其对象对应下家的引用连成一条链,请求在这个链上传递,直到链上的某一个接收对象处理此请求.因为请求的客户端并不知道链上最终是谁来处理这个请求,使得系统可以在不影响客户端的情况下动态地重新组织和分配责任,从而避免了请求发送者与请求处理者之间的耦合. 责任链械中涉及到三种角色: 1,抽象处理者角色 2,具体处理者角色 3,请求发送者 小例子:假设去买房子,买房子就需要砍价, 卖房的人职位不同,可以优

  • 实例讲解Java的设计模式编程中责任链模式的运用

    定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止. 类型:行为类模式 类图: 首先来看一段代码: public void test(int i, Request request){ if(i==1){ Handler1.response(request); }else if(i == 2){ Handler2.response(request); }else if(i == 3){ Handler3

  • JAVA设计模式之责任链模式详解

    在阎宏博士的<JAVA与模式>一书中开头是这样描述责任链(Chain of Responsibility)模式的: 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链.请求在这个链上传递,直到链上的某一个对象决定处理此请求.发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任. 从击鼓传花谈起 击鼓传花是一种热闹而又紧张的饮酒游戏.在酒宴上宾客依次坐定位置,由一人击鼓,击鼓

  • Java设计模式编程中的责任链模式使用示例

    责任链模式:多个对象由其对象对应下家的引用连成一条链,请求在这个链上传递,直到 链上的某一个接收对象处理此请求.因为请求的客户端并不知道链上最终是谁来处理这个请求,使得系统可以在不影响客户端的情况下动态地重新组织和分配责任, 从而避免了请求发送者与请求处理者之间的耦合. 责任链械中涉及到三种角色: 1,抽象处理者角色 2,具体处理者角色 3,请求发送者 小例子:假设去买房子,买房子就需要砍价, 卖房的人职位不同,可以优惠的价格也不同,不同职位就可以形成一个处理请求的链.我们暂定: * 基层销售员

  • Java责任链模式定义与用法分析

    本文实例讲述了Java责任链模式定义与用法.分享给大家供大家参考,具体如下: 使很多对象都有处理请求的机会,从而避免请求的发送者和接受者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止 责任链模式主要包括以下几个角色 1.处理者:处理者是一个接口,负责规定具体处理者处理用户请求的方法以及具体处理者设置后继处理对象的方法 2.具体处理者:具体处理者是实现处理接口的类的实例,具体处理者通过调用处理接口规定的方法处理用户的请求,既在接到用户的请求后,处理者将调用接

  • Java责任链模式模板代码分享

    本文分享了一则Java编程责任链模式的模板代码,代码中有详细注释,大家可以参考.具体如下: //抽象处理者 public abstract class Handler{ private Handler nextHandler; //每个处理者都必须对请求做出处理 public final Response handleMessage(Request request){ Response response = null; //判断是否自己的处理级别 if(this.getHandlerLevel(

  • 23种设计模式(19)java责任链模式

    23种设计模式第十九篇:java责任链模式 定义:使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止. 类型:行为类模式 类图: 首先来看一段代码: public void test(int i, Request request){ if(i==1){ Handler1.response(request); }else if(i == 2){ Handler2.response(request); }els

  • 浅谈JAVA 责任链模式

    顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链.这种模式给予请求的类型,对请求的发送者和接收者进行解耦.这种类型的设计模式属于行为型模式. 在这种模式中,通常每个接收者都包含对另一个接收者的引用.如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推. 介绍 意图: 避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止. 主要解决

  • C语言责任链模式示例代码

    目录 介绍: 作用: 类比: 示例: 总结 介绍: ​ 责任链模式是一种行为模式,它可以允许你将请求沿着处理者链进行发送,收到请求以后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者: 作用: 将请求按照链的方式一一传递 类比: ​ 公司申请报销,首先要leader审批通过,然后是HR,再然后是财务,最后是老板,一级一级的将请求传递: 示例: #include <stdio.h> #include <assert.h> #include "list.h&q

  • Java设计模式之java责任链模式详解

    目录 概述 结构 总结 在本讲,我们来学习一下行为型模式里面的第四个设计模式,即责任链模式. 概述 在学习责任链模式之前,我们先来看一下下面这段描述. 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同.例如,公司员工请假,可批假的领导有部门负责人.副总经理.总经理等,但是每个领导能批准的天数不同,员工必须根据自己要请假的天数去找不同的领导签名,也就是说员工必须记住每个领导的姓名.电话和地址等信息,这增加了员工请假的难度.因为领导有很多,员工到底找哪位

  • 一文搞懂Java设计模式之责任链模式

    简述: 前端时间再看一些类库的源码,发现责任链模式的强大之处,尤其是和建造者模式的结合后强大的动态可扩展性更是牛逼的一塌糊涂.接下来赶紧了解一下吧! 我们先来了解一下什么是责任链模式: 职责链模式(Chain of Responsibility):使多个对象都有机会处理同一个请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. 应用场景: 为完成同一个请求,如果存在多个请求处理器以及未知请求处理器个数或者请求处理器可动态配置的

  • Java实现设计模式之责任链模式

    目录 1.什么是责任链模式 2.如何实现 3.代码实现 4.总结 1.什么是责任链模式 当一个请求可能需要多个对象中的某个进行处理时,将这些对象连成一条链,并沿者这条链传递该请求,知道有一个对象处理它为止.这样的情况或需求时,可以采用责任链模式. 2.如何实现 1)处理者接口(Handler),负责定义处理请求的抽象方法,并设置下一个处理着的方法. 2)具体处理者,实现Handler接口中定义的方法.实现处理用户请求的逻辑,并设置下一个处理请求的对象.如果能够处理用户求情就处理,如果不能处理,交

  • Java设计模式之责任链模式的示例详解

    目录 应用场景 实际代码案例 无模式情况下的代码 采用责任链模式优化代码 采用建造者+责任链模式优化代码 责任链模式优缺点 责任链模式是将链中的每一个节点看做是一个对象,每个节点处理的请求均不相同,且内部自动维护下一个节点对象,当一个请求从链式的首段发出时,会沿着链的路径依次传递给每一个节点对象,直至有对象处理这个请求位置,属于行为模式. 这里需要注意的是每个节点都能对对象进行一定的处理(也可以不处理),处理完成之后节点再进行判断还要进行后续处理还是说传递给下一个节点. 应用场景 首先举一个日常

随机推荐