码迷,mamicode.com
首页 > 其他好文 > 详细

解释器模式——HeadFirst设计模式学习笔记

时间:2016-11-06 02:11:29      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:his   this   first   .com   解析   解释器   扩展   strong   bool   

解释器模式:给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子

技术分享

 

特点:

  • 每一种语法设置为一个类,便于实现
  • 便于扩展语言的语法
  • 与处理重复发生的交叉问题或解析一种语言

 

缺点:

  • 解释器模式会引起类膨胀
  • 效率不高
  • 解释器模式采用递归调用方法

 

举例:

 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设计模式学习笔记

标签:his   this   first   .com   解析   解释器   扩展   strong   bool   

原文地址:http://www.cnblogs.com/HectorHou/p/6034442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!