入门设计模式之责任链模式

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/80890560 学习更多设计模式请参考:入门设计模式之汇总篇 责任链模式:很多对象由每一个对象对其下家的引用而连接起来行成的一条链。
版权声明:本文为博主原创文章,未经博主允许不得转载。博客源地址为zhixiang.org.cn https://blog.csdn.net/myFirstCN/article/details/80890560

学习更多设计模式请参考:入门设计模式之汇总篇 


责任链模式:很多对象由每一个对象对其下家的引用而连接起来行成的一条链。


其实责任链模式一直在我们的身边。某一天,董事长有个想法,他吩咐给了经理,经理吩咐给了组长,组长分配给了你我。这时候我们发现,我们没有下级了呀,咋办,那就干呗。

上方这个任务分配的过程就是责任链模式,一个事件会一直向下层传递,董事长并不关心是谁解决的这个问题,对他来说只要问题解决了就行。



  • Handle:抽象处理者,可理解为抽象的员工(经理组长普通程序员等都是继承了员工)
  • Handle:具体处理者:具体做事的人(具体某一个经理组长普通程序员等)
  • Client:客户端


来看一下代码实现:

public abstract class Handle {
    protected Handle next;
    public abstract void handleRequest();

    public void setNext(Handle next){
        this.next=next;
    }
}

public class HandleImpl extends Handle {
    @Override
    public void handleRequest() {
        if(next!=null){
            System.out.println("调用下级处理");
            next.handleRequest();
        }else{
            System.out.println("请求处理中。。。");
        }
    }
}

public class Client {
    public static void main(String args[]){
            Handle handle1=new HandleImpl();
            Handle handle2=new HandleImpl();
            Handle handle3=new HandleImpl();
            handle1.setNext(handle2);
            handle2.setNext(handle3);
            handle1.handleRequest();
    }
}

可以看到上方代码运行过程就像文章开始时我们所举得例子,只要它存在下级就会把请求交给下级去处理,这就是典型的责任链模式



本文出自https://zhixiang.org.cn/#/blog/read/21a887cf-d97a-4801-aecb-bc9578a2f1e1,转载请保留。

相关文章
|
7月前
|
设计模式 Java
【设计模式系列笔记】责任链模式
责任链模式是一种行为设计模式,它允许你将请求沿着处理者链进行传递,直到有一个处理者能够处理它。每个处理者都有一个对下一个处理者的引用。责任链模式常用于处理请求的场景,例如在一个请求需要经过多个步骤或者多个对象来处理的情况下。
83 0
|
2月前
|
设计模式 Java
【设计模式】工厂模式(定义 | 特点 | Demo入门讲解)
【设计模式】工厂模式(定义 | 特点 | Demo入门讲解)
62 2
|
2月前
|
设计模式 XML Java
【设计模式】装饰器模式(定义 | 特点 | Demo入门讲解)
【设计模式】装饰器模式(定义 | 特点 | Demo入门讲解)
34 0
|
2月前
|
设计模式 传感器
【设计模式】观察者模式(定义 | 特点 | Demo入门讲解)
【设计模式】观察者模式(定义 | 特点 | Demo入门讲解)
44 0
|
2月前
|
设计模式 JavaScript Scala
Kotlin - 改良设计模式 - 责任链模式
Kotlin - 改良设计模式 - 责任链模式
55 9
|
1月前
|
设计模式 JavaScript Scala
Kotlin教程笔记(55) - 改良设计模式 - 责任链模式
Kotlin教程笔记(55) - 改良设计模式 - 责任链模式
37 0
|
2月前
|
设计模式 JavaScript Scala
Kotlin - 改良设计模式 - 责任链模式
本教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速上手Kotlin的读者,推荐查阅“简洁”系列教程。本文通过学生会经费申请的例子,介绍了责任链模式及其在Kotlin中的实现,并使用偏函数进行了改进,使代码更加简洁和灵活。
16 0
|
2月前
|
设计模式 JavaScript Scala
Kotlin - 改良设计模式 - 责任链模式
Kotlin - 改良设计模式 - 责任链模式
39 0
|
2月前
|
设计模式 JavaScript Scala
Kotlin学习笔记 - 改良设计模式 - 责任链模式
Kotlin学习笔记 - 改良设计模式 - 责任链模式
44 0
|
3月前
|
设计模式 缓存 监控
Java设计模式-责任链模式(17)
Java设计模式-责任链模式(17)