设计模式之Interpreter模式(笔记)
2015-07-14 14:39
344 查看
解释器模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示解释语言中的句子。
首先定义一个抽象的解释接口AbstractExpression
接着定义终结符表达式TerminalExpression
然后定义非终结符表达式
接着定义一个context 类
客户端代码
首先定义一个抽象的解释接口AbstractExpression
public abstract class AbstractExpression { public abstract void interpret(Contexts context); }
接着定义终结符表达式TerminalExpression
public class TerminalExpression extends AbstractExpression{ @Override public void interpret(Contexts context) { System.out.println("终端解释器"); } }
然后定义非终结符表达式
public class NonterminalExpression extends AbstractExpression{ @Override public void interpret(Contexts context) { System.out.println("非终端解释器"); } }
接着定义一个context 类
public class Contexts { private String input; private String output; public String getInput(){ return input; } public void setInput(String input){ this.input=input; } public String getOutput(){ return output; } public void setOutput(String output){ this.output=output; } }
客户端代码
public static void main(String[] args) { //解释器模式 Contexts context=new Contexts(); List<AbstractExpression> list=new ArrayList<AbstractExpression>(); list.add(new TerminalExpression()); list.add(new NonterminalExpression()); list.add(new TerminalExpression()); list.add(new TerminalExpression()); Iterator<AbstractExpression> iterator=list.iterator(); while(iterator.hasNext()){ AbstractExpression expression=iterator.next(); expression.interpret(context); } }
相关文章推荐
- javascript设计模式之解释器模式详解
- C++设计模式之解释器模式
- PHP设计模式之解释器模式的深入解析
- JAVA设计模式之解释器模式详解
- 解释器模式(未完成)
- 设计模式学习笔记——解释器模式
- 解释器模式 Interpreter Pattern
- 设计模式之解释器模式
- 解释器模式lua实现
- 大话设计模式C++实现-第27章-解释器模式
- [设计模式笔记]三. 行为型模式--17. Interpreter模式(解释器模式)(一)
- [设计模式笔记]三. 行为型模式--17. Interpreter模式(解释器模式)(二)
- 设计模式之解释器模式
- 解释器模式
- Design Pattern - Interpreter(C#)
- freemarker模板解析----典型的访问者模式和解释器模式
- 解释器模式分析、结构图及基本代码
- 分分钟搞定解释器模式(Interpreter)
- Net设计模式实例之解释器模式(Interpreter Pattern)(1) 推荐
- Net设计模式实例之解释器模式(Interpreter Pattern)(2)