首页 > 代码库 > 解释器模式
解释器模式
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; }
解释器模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。