责任链模式
责任链模式的核心是解决一组服务中的先后执行处理关系。

#pragma once
#include <iostream>
#include <string>
class Auth
{
public:
virtual void setSuperior(Auth* superior) = 0;
virtual void handleRequest(double amount) = 0;
};
class Level1Auth : public Auth
{
public:
Level1Auth(double ma, std::string n):maxAmount(ma),name(n),sup(nullptr){}
void setSuperior(Auth* superior) { this->sup = superior; }
void handleRequest(double amount)
{
if (amount <= maxAmount)
return;
else
{
if (this->sup != nullptr)
{
this->sup->handleRequest(amount);
return;
}
}
}
private:
double maxAmount;
std::string na
本文介绍了C++中如何运用责任链模式,该模式用于处理一组服务的先后执行顺序。通过声明处理者接口,将请求转化为对象进行传递,构建一个处理链。在链中,请求逐级审批,直至在Level1Auth类的setSuperior()方法中完成最终执行。
订阅专栏 解锁全文
4320

被折叠的 条评论
为什么被折叠?



