标签:设计模式
1,现在很多杀毒软件,采用了解释器模式,就减速升级的次数,从而提高了用户体验了,当有一种新的病毒的时候不需要升级客户端,而是服务器直接发送命令(命令模式),然后客户端进行解析命令,就用到了解释器模式,还有我们的编译器也是这种模式
2,代码
// 解释器模式.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <list> using namespace std; //上下文 class Context; //解释器的接口 class AbstractExpression{ public: virtual void interpret(Context *) = 0; }; //解释器的具体实现类,通过传入的上下文context 进行解释 class TerminalExpression :public AbstractExpression{ public: void interpret(Context *c){ cout << "terminal expression" << endl; } }; //解释器的具体实现类 class NoteterminalExpression:public AbstractExpression { public: void interpret(Context *c){ cout << "NoteterminalExpression " << endl; } }; class Context{ public: string input, output; }; int _tmain(int argc, _TCHAR* argv[]) { Context *context = new Context(); list<AbstractExpression *> lst; lst.push_back(new TerminalExpression()); lst.push_back(new NoteterminalExpression()); lst.push_back(new TerminalExpression()); lst.push_back(new TerminalExpression()); for (list<AbstractExpression*>::iterator iter = lst.begin(); iter != lst.end(); iter++){ (*iter)->interpret(context); } cin.get(); return 0; }
标签:设计模式
原文地址:http://blog.csdn.net/sun734274006/article/details/42176817