解释器模式——HeadFirst设计模式学习笔记
Posted HectorHou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解释器模式——HeadFirst设计模式学习笔记相关的知识,希望对你有一定的参考价值。
解释器模式:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子
特点:
- 每一种语法设置为一个类,便于实现
- 便于扩展语言的语法
- 用与处理重复发生的交叉问题或解析一种语言
缺点:
- 解释器模式会引起类膨胀
- 效率不高
- 解释器模式采用递归调用方法
举例:
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 }
以上是关于解释器模式——HeadFirst设计模式学习笔记的主要内容,如果未能解决你的问题,请参考以下文章