#include <QCoreApplication>
#include <QDebug>
/// 目标抽象类 Controller
class Controller
{
public:
Controller();
virtual ~Controller();
virtual void pathPlanning() = 0;
};
Controller::Controller()
{
}
Controller::~Controller()
{
}
/// 适配者类 DxfParser
class DxfParser
{
public:
DxfParser();
void parseFile();
};
DxfParser::DxfParser()
{
}
void DxfParser::parseFile()
{
qDebug()<< "解析文件提取数据";
}
/// 适配者类 PathPlanner
class PathPlanner
{
public:
PathPlanner();
void calculate();
};
PathPlanner::PathPlanner()
{
}
void PathPlanner::calculate()
{
qDebug()<< "计算加工路径";
}
/// 适配器类 Adapter
class Adapter : public Controller
{
public:
Adapter()
{
c_dxfparse = new DxfParser;
c_pathPlanner = new PathPlanner;
}
~Adapter();
void pathPlanning()
{
qDebug()<< "路径规划";
c_dxfparse->parseFile();
c_pathPlanner->calculate();
}
private:
DxfParser *c_dxfparse;
PathPlanner *c_pathPlanner;
};
Adapter::~Adapter()
{
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
Controller *controller = new Adapter;
controller->pathPlanning();
return a.exec();
}