视频49——设计模式之责任链模式

属于Gof23种里面的一个。

引入

之前的链式代码:

耦合度太高,所以引入了一种设计模式责任链设计模式,责任链设计模式中可以把这种链式关系配到配置文件当中,这样的话我们就可以达到动态的组合,耦合度是比较低的。

过滤器:

就是责任链模式的典型应用。

可以只更改配置文件不用改代码就可以修改执行顺序,这个改变就相当于功能扩展,并且这个功能扩展没有修改java代码,说明符合ocp开闭原则(功能扩展时候不要动原先的程序)。

而且不想要哪个过滤器了可以直接不配配置或者啥的可以干掉,不用修改代码也不影响程序执行。

介绍

请求发送者接收者,不要硬理解为是servlet,就像上面的代码,a就认为是请求的发送者,b就认为是请求的接收者。就是一个是调用者,一个是被调用者。

但是这里请求发送者和接收者是在java代码中的,所以耦合度比较高。

责任链设计模式可以让a和b耦合度降低。

核心思想

不连成一条链不符合责任链设计模式

关键角色

工作流程和优点

客户端是头,由头调用

经典应用场景

代码演示(17:06开始)

Filter责任链模式和经典责任链模式的区别(24:45开始)

面试时候可以这样描述(27:50)

相关推荐
做前端的娜娜子2 天前
从 0 到 1 打造一个配置可视化后台:一次前端配置中心化改造的实战复盘
前端·设计模式·数据可视化
执明wa2 天前
Android 开发中的设计模式入门:六大设计原则
android·设计模式
莫得感情 o2 天前
设计模式 09 · 适配器模式
设计模式·适配器模式
梅头脑3 天前
学了6种设计模式却写出了同事看不懂的代码——SOLID五原则反例对照,治好了我的"过度设计"
设计模式
workflower3 天前
案例:大模型驱动的“发现- 研判- 整改- 验证”全闭环治理体系
人工智能·深度学习·机器学习·设计模式·机器人
fīɡЙtīиɡ ℡3 天前
JAVA责任链模式
责任链模式
董员外3 天前
RAG 系统进化论(九):RAG 评测,怎样证明系统真的变好了?
人工智能·设计模式·程序员
西安小哥3 天前
AI时代技术工程师的"道法术器势":学习图谱、成长规划与角色重塑
人工智能·设计模式·程序员
莫得感情 o3 天前
设计模式 08 · 装饰器模式
设计模式·装饰器模式
董员外4 天前
RAG 系统进化论(八):Agentic RAG(智能体式 RAG),从回答问题到完成任务
人工智能·后端·设计模式