C++ 实现职责链模式
职责链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它将请求的发送者和接收者解耦,并使多个对象都有机会处理这个请求。本文将使用 C++ 语言实现职责链模式,并提供相应的源代码。
- 模式介绍
职责链模式包含如下角色:
- 抽象处理者(Handler):定义处理请求的接口,并保持对下一个处理者的引用。
- 具体处理者(ConcreteHandler):实现抽象处理者定义的接口,负责处理它所负责的请求,并可以访问下一个处理者。
- 客户端(Client):创建处理者对象,并将它们连接成一条链。
- 模式实现
以下是使用 C++ 实现职责链模式的代码:
#include <iostream>
#include <string>
class Handler {
public:
virtual ~Handler() {}
void SetNext(Handler* next) { next_ = next; }
virtual std::string H