外观模式原理:将复杂的子系统的结构封装起来,只提供客户一个简单的接口
代码如下:
#include <iostream> #include <string> #include <list> using namespace std; /************************************************************************/ /* 装饰模式的作用是为对象增加属性 */ /************************************************************************/ class Scanner { public: void Scan(){cout << "词法分析" << endl;} }; class Parser { public: void Parse(){cout << "语法分析" <<endl;} }; class GenMidCode { public: void GenCode(){cout << "产生中间代码" <<endl;} }; class GenMachineCode { public: void GenCode(){cout<<"产生机器码"<<endl;} }; class Compiler { public: void Run() { Scanner scanner; Parser parser; GenMidCode genMidCode; GenMachineCode genMacCode; scanner.Scan(); parser.Parse(); genMidCode.GenCode(); genMacCode.GenCode(); } }; int main() { Compiler compiler; compiler.Run(); return 0; }