软设之职责链模式

设计模式中的职责链模式的意图是:为解除请求的发送者和接受者之间的耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。

比如,有一个员工要报销差率费,上传发票和出差天数,目的地,首先是由财务部门负责差旅补助的人员审核并按规定计算差旅费补助,再一级一级由部门经理,部门总监,财务总监等人批准。

职责链模式也是一样,发送请求,再由一个对象,一个对象处理,直到最后一个对象处理完并停止。

Handler:传递者接口,定义一个处理请求接口

ConcreteHandler:具体传递者,处理它所负责的请求。可以访问链中下一个对象,如果可以处理请求,就处理它,否则将请求转发给后继者。

Client:客户应用程序,向链中的对象提出最初的请求

相关推荐
Larry_Yanan19 分钟前
QML学习笔记(五十)QML与C++交互:QML中单例C++对象
开发语言·c++·笔记·qt·学习·ui·交互
im_AMBER19 分钟前
算法笔记 09
c语言·数据结构·c++·笔记·学习·算法·排序算法
yuxb732 小时前
ELK企业级日志分析系统
笔记·elk
卡提西亚2 小时前
C++笔记-9-三目运算符和switch语句
c++·笔记
崽崽的谷雨2 小时前
react使用ag-grid及常用api笔记
笔记·react.js·ag-grid
初圣魔门首席弟子3 小时前
C++ STL list 容器学习笔记:双向链表的 “小火车“ 操控指南
c++·windows·笔记·学习
LBuffer4 小时前
破解入门学习笔记题三十四
java·笔记·学习
安冬的码畜日常4 小时前
【JUnit实战3_27】第十六章:用 JUnit 测试 Spring 应用:通过实战案例深入理解 IoC 原理
spring·观察者模式·设计模式·单元测试·ioc·依赖注入·junit5
再睡一夏就好4 小时前
【C++闯关笔记】unordered_map与unordered_set的底层:哈希表(哈希桶)
开发语言·c++·笔记·学习·哈希算法·散列表
摇滚侠5 小时前
Spring Boot3零基础教程,为什么有Reactive-Stream 规范,响应式编程,笔记101
java·spring boot·笔记