解释器模式——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设计模式学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

命令模式——HeadFirst设计模式学习笔记

策略模式——HeadFirst 设计模式学习笔记

桥接模式——HeadFirst设计模式学习笔记

组合模式——HeadFirst设计模式学习笔记

原型模式——HeadFirst设计模式学习笔记

访问者模式——HeadFirst设计模式学习笔记