1、介绍
责任链模式是⼀种行为型设计模式,它允许你构建⼀个对象链,让请求从链的⼀端进⼊,然后沿着链上的对象依次处理,直到链上的某个对象能够处理该请求为止。
包括以下几部分:
(1)处理者Handler :定义⼀个处理请求的接⼝,包含⼀个处理请求的抽象⽅法和⼀个指向下⼀个处理者的链接。
(2)具体处理者ConcreteHandler : 实现处理请求的⽅法,并判断能否处理请求,如果能够处理请求则进⾏处理,否则将请求传递给下⼀个处理者。
(3)客户端:创建并组装处理者对象链,并将请求发送到链上的第⼀个处理者。
2、示例
#include <iostream>
// 抽象处理者
class Handler {
protected:
Handler* successor;
public:
Handler() : successor(nullptr) {}
void setSuccessor(Handler* successor) {
this->succ