工厂模式应用
1. 需求描述
不同协议进行不同解析规则,能否创建一个工厂根据当前协议类型提供解析器进行解析
2. 类图设计
3. 代码实现
3.1 解析器
IParser :基类 IParser 是一个抽象类,其中定义了一个纯虚函数 Parse,Parse函数负责报文解析。
CParserA :子类 CParserA 继承了基类 IParser 并实现了 Parse 函数,实现对协议A类型的报文进行解析。
CParserB :子类 CParserB继承了基类 IParser 并实现了 Parse 函数,实现对协议B类型的报文进行解析。
#include <iostream>
// 基类
class IParser {
public:
virtual bool Parse(std::string buff) = 0;
};
// 子类1
class CParserA : public IParser {
public:
bool Parse(std::string buff) override {
std::cout << "CParserA::Parse " << buff.c_str() << std::endl;
return true;
}
};
// 子类2
class CParserB : public IParser {
public:
标签:解析器,IParser,模式,工厂,Parse,应用,基类,解析,public
From: https://blog.csdn.net/qq_36536211/article/details/139249366