设计模式读书笔记:Interpreter(解释器)

原创 2015年07月10日 20:43:29

意图:

给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。

结构图:来自 《23种设计模式 - 郗晓勇》


实现:https://github.com/panshiqu/patterns/tree/master/Interpreter

AbstractExpression

namespace NS_INTERPRETER {

class AbstractExpression {
public:
	AbstractExpression() {}
	virtual ~AbstractExpression() {}
	virtual bool interpret(bool status) = 0;
};

} /* namespace NS_INTERPRETER */
ConcreteExpression

#include "AbstractExpression.h"

namespace NS_INTERPRETER {

class ConcreteExpression : public AbstractExpression
{
public:
	ConcreteExpression() {}
	virtual ~ConcreteExpression() {}
	virtual bool interpret(bool status)
	{
		// 可能存在多个这样的子类
		// 传参可能也不止BOOL类型这样简单
		// 这里只是想表达这个子类可以按照自己的方式解释这个参数
		return !status;
	}
};

} /* namespace NS_INTERPRETER */
main

#include <iostream>
#include "Interpreter/ConcreteExpression.h"
using namespace NS_INTERPRETER;
using namespace std;
int main(void)
{
	ConcreteExpression ce;
	std::cout << ce.interpret(false) << std::endl;
}
附加:

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

设计模式读书笔记-----解释器模式

为人处事是一门大学问,察言观色、听懂弦外之音都是非常重要的,老板跟你说“XX你最近表现平平啊,还得要多努力”,如果你不当回事,平常对待,可能下次就是“XX,恩,你人还是不错,平常工作也很努力,但是我想...
  • chenssy
  • chenssy
  • 2013年10月14日 23:21
  • 4460

《Android源码设计模式》读书笔记 (10) 第10章 解释器模式

前言解释器模式如同责任链模式一样,也是一种行为型模式,只是在平时使用较少. 不过想想android计算器四则运算:加减乘除和数字表达式的解释,其实恰恰就是这种设计模式的表现定义 定义:提供一种解释语...

设计模式读书笔记-----解释器模式

为人处事是一门大学问,察言观色、听懂弦外之音都是非常重要的,老板跟你说“XX你最近表现平平啊,还得要多努力”,如果你不当回事,平常对待,可能下次就是“XX,恩,你人还是不错,平常工作也很努力,但是我想...

《Android源码设计模式解析与实战》读书笔记(十)——解释器模式

第十章 化繁为简的翻译机——解释器模式 解释器模式是一种用得比较少的行为型设计模式,它提供了一种解释语言或者说是表达式的方法,该模式定义了一个表达式接口,然后通过该接口解释一个特定的上下文。解释器模式...

设计模式读书笔记-----解释器模式

为人处事是一门大学问,察言观色、听懂弦外之音都是非常重要的,老板跟你说“XX你最近表现平平啊,还得要多努力”,如果你不当回事,平常对待,可能下次就是“XX,恩,你人还是不错,平常工作也很努力,但是我想...

设计模式学习笔记——解释器(Interpreter)模式

设计模式学习笔记——解释器(Interpreter)模式@(设计模式)[设计模式, 解释器模式, Interpreter]设计模式学习笔记解释器Interpreter模式 基本介绍 解释器案例 类图 ...

[设计模式笔记]三. 行为型模式--17. Interpreter模式(解释器模式)(二)

场景: 我定义一个加减法则 // 表达式 expression ::= literal | PlusSign | MinusSign | '(' expression ')' //...
  • cay22
  • cay22
  • 2013年10月14日 17:42
  • 1123

[设计模式笔记]三. 行为型模式--17. Interpreter模式(解释器模式)(一)

行为型模式--Interpreter(解释器)类行为型模式 一. 意图        给定一个语言, 定义它的文法的一种表示, 并定义一个解释器, 这个解释器使用该表示来解释语言中的句子. ...
  • cay22
  • cay22
  • 2013年10月14日 17:36
  • 1054

GOF设计模式之INTERPRETER(解释器)

概述本文将和读者一起来理解GOF设计模式之INTERPRETER(解释器)。同样,本文将用Java对GOF中的示例代码改些,同时附上测试用例。模式结构 这个模式用户语言的文法解释。感觉对大多数程序猿...

设计模式学习—Interpreter(解释器)

意图:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。如果一种特定类型的问题发生的频率足够高,那么就可值得将该问题的各个实例表述为一个简单语言的句子,这样就可...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式读书笔记:Interpreter(解释器)
举报原因:
原因补充:

(最多只允许输入30个字)