解析器模式
来源:互联网 发布:java单元测试的好处 编辑:程序博客网 时间:2024/05/22 11:34
定义:
给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
适用性:
当有一个语言需要解释执行,并且你可以将该语言中的句子表示为一个抽象羽凡树是,可以使用解释器模式。
1.该文法简单对于复杂的文法,文法的类层次变得庞大而无法管理。
2.效率不是一个关键问题最高效的解释器不是通过直接解释语法分析树实现的,而是首先将它们转换成另一种形式。
类图:
代码:
package designPatterns;import java.util.ArrayList;import java.util.List;abstract class Expression {abstract void interpret(Context context);}class Context {private String content;private List<Expression> list = new ArrayList<Expression>();public String getContent() {return content;}public void setContent(String content) {this.content = content;}public void add(Expression eps) {list.add(eps);}public List<Expression> getList() {return list;}}class AdvanceExpression extends Expression {void interpret(Context context) {System.out.println(this.getClass());}}class SimpleExpression extends Expression {void interpret(Context context) {System.out.println(this.getClass());}}public class InterpreterTest {public static void main(String[] args) {Context context= new Context();/*Expression exp = new AdvanceExpression();exp.interpret(context);*/context.add(new AdvanceExpression());context.add(new SimpleExpression());context.add(new AdvanceExpression());context.add(new SimpleExpression());for(Expression exp :context.getList()){exp.interpret(context);}}}
结果:
class designPatterns.AdvanceExpression
class designPatterns.SimpleExpression
class designPatterns.AdvanceExpression
class designPatterns.SimpleExpression
- 解析器模式解析
- 设计模式-解析器模式
- 解析器模式
- 解析器模式
- 解析器模式
- 解析器模式
- Interpreter解析器模式
- 解析器模式
- 设计模式笔记-解析器模式
- 解析器模式和访问者模式
- Java设计模式之解析器模式
- 设计模式之解析器
- HtmlParser设计解析(1) - 解析器模式(Interpreter)
- 设计模式——解析器模式(Interpreter)
- java设计模式(行为型)之解析器模式
- 行为型模式之解析器模式实现
- Java设计模式_(行为型)_解析器模式
- java 开发模式之十九 :解析器模式
- Mongodb应用命令总结
- MongoDB基本使用
- 数据结构算法书籍推荐
- 乐观锁和悲观锁
- android应用实例代码分享 一站到底站神秘籍 源代码
- 解析器模式
- windbg 常用命令介绍(一)
- Android 70道面试题汇总不再愁面试
- “有些事现在不做 一辈子都不会做了”
- 最近
- 空间配置器(c++)
- Java中的23种设计模式:
- c++类型转换
- 东北方言3000词v1.1.2738 -- 下载