标签:设计模式
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