设计模式之行为模式——解释器(Interpreter)模式
?
? ?涉及的角色有:
? ?1、Expression :表达式,是一个接口或抽象类;
? ?2、TerminalExpression :终结符表达式角色,是表达式的一个子类或实现类
? ?3、NonterminalOneExpression : 非终结符表达式角色,也是表达式的一个子类或实现类
? ?4、Context :上下文环境
?
示例如下:
?
package impl;import java.math.BigDecimal;import service.Expression;public class SubtracExpression implements Expression{private Expression left;private Expression right;@Overridepublic BigDecimal interpreter(Context con) {return left.interpreter(con).subtract(right.interpreter(con));}public SubtracExpression(Expression left,Expression right){this.left = left;this.right = right;} }?
总结:
解释器以我个人的理解的话,首先它使用的场合不是很多,它适合于解释某种语言或规则。在解释这些规则时要
注意查找规律性的东西,把最基本的功能抽取出来,然后才能利用!