首页 > 编程语言 >设计模式-责任链模式(Java实现)

设计模式-责任链模式(Java实现)

时间:2022-09-06 21:24:05浏览次数:65  
标签:场景 Java 请求 处理 责任 设计模式

什么是责任链模式?

顾名思义,就是链式的去处理一个请求或者任务,收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。

应用场景

  1. 一个请求需要多种类型的处理
  2. 各个处理之间,相对独立
  3. 需要指定多种处理的处理顺序

实际举例

  1. 打印日志的时候,我们可能定义了多个logger
  2. Netty在接收和发送数据时,需要经过多个Handler的处理,也是责任链的场景
  3. 用户登录的时候,需要校验密码、用户状态、是否认证等流程,也是可以采用责任链的场景

优点

  1. 实现不同逻辑的解耦
  2. 满足开闭原则,不动现有逻辑的前下,可以增加新的处理方式

缺点

  1. 链路比较长,分析问题可能相对复杂

标签:场景,Java,请求,处理,责任,设计模式
From: https://www.cnblogs.com/vinson-zhang/p/16663329.html

相关文章

  • Java中如何创建不可变(immutable)类
    什么是不可变类1.不可变类是指类的实例一经创建完成,这个实例的内容就不会改变。2.Java中的String和八个基本类型的包装类(Integer,Short,Byte,Long,Double,Float,......
  • java复习随笔(十四)——类加载器、反射
    类加载器类加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外状况,JVM将会连续完......
  • Java环境配置
    选择jdk1.8版本进行安装,选择一个方便记忆的目录进行安装右键计算机-->属性--打开高级系统设置---点击环境变量----对系统变量进行更改新建变量名JAVA_HOME变量值......
  • Java调用C++动态链接库——Jni
    最近项目需要,将C++的算法工程编译成动态链接库,交给Java后台当作函数库调用。就去了解了下Jni。使用起来还是比较方便的。1.  首先编写Java的调用类。例如:  public......
  • Java连接数据库进行操作
    importjava.sql.*;importjava.util.ResourceBundle;publicclassJBDCTEST{publicstaticvoidmain(String[]args){Connectionc=null;St......
  • 设计模式原则之“迪米特法则”
    一、是什么迪米特法则:也叫最少知识原则(LoD)如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用如果其中一个类需要调用另一个类的某一个方法的话,可以通......
  • java程序运行机制
    java程序运行机制编译型相当于有一个负责翻译的程序(编译器),将代码转换成计算机可执行的代码。执行速度快,对操作系统要求较低C/C++.java通过java编译器变为.class......
  • 设计模式之解释器模式
    解释器模式字面意思,也即解释某些内容的含义。这种设计模式是实际开发中最不容易用到的。比如SQL解析,符号处理引擎,会用到解释器模式,属于更底层的开发人员才会用到的设计模式......
  • java邮件开发详解(一)
     地址:https://www.cnblogs.com/h--d/p/6138810.htmlJavaMail介绍 JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支......
  • 【Java基础】方法重写Override
    1.什么是方法重写子类对父类中同名同参数的方法进行重写覆盖。publicclassPerson{publicvoidsay(){System.out.println("父类中的方法");}}......