解释器模式:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子
特点:
- 每一种语法设置为一个类,便于实现
- 便于扩展语言的语法
- 用与处理重复发生的交叉问题或解析一种语言
缺点:
- 解释器模式会引起类膨胀
- 效率不高
- 解释器模式采用递归调用方法
举例:
1 //解释器接口 2 public interface Expression { 3 public boolean interpret(String context); 4 } 5 6 //实现Or解释器 7 public class OrExpression implements Expression { 8 9 private Expression expr1 = null; 10 private Expression expr2 = null; 11 12 public OrExpression(Expression expr1, Expression expr2) { 13 this.expr1 = expr1; 14 this.expr2 = expr2; 15 } 16 17 @Override 18 public boolean interpret(String context) { 19 return expr1.interpret(context) || expr2.interpret(context); 20 } 21 }
时间: 2024-10-10 00:36:09