- 一、角色
- 抽象表达式类(Expression):所有具体表达式的抽象基类
- 具体命令类(ConcreteExpression):具体表达式类
- 二、适用场景
- 可以将一个需要解释执行的语言中的句子表示为一个抽象语法树
- 一些重复出现的问题可以用一种简单的语言来进行表达
- 一个简单语法需要解释的场景
- 三、实例
- 图1是一个简单的字符串的解析表达式实例,Expression是抽象表达式接口,TerminalExpression、OrExpression、AndExpression是具体的表达式,TerminalExpression实现了字符串解析功能,OrExpression实现了逻辑或的功能,AndExpression则实现了逻辑与的功能
- 代码地址:https://github.com/lanhei/DesignPattern/tree/master/src/com/lanhei/patterns/interpreter
图-1