[译]Java设计模式之解释器
2015-01-09 23:49
246 查看
(文章翻译自Java Design Pattern: Interpreter)
解释器模式适用于当一些内容需要翻译的时候。下面的例子是一个非常简单的解释器实现。它将字母"a"和"b"翻译成"1"和"2"。
类图:
注意:为了使结构更加清晰依赖关系也在图中显示出来了。
Java 代码
在JDK中使用解释器模式:
java.util.Pattern
解释器模式适用于当一些内容需要翻译的时候。下面的例子是一个非常简单的解释器实现。它将字母"a"和"b"翻译成"1"和"2"。
类图:
注意:为了使结构更加清晰依赖关系也在图中显示出来了。
Java 代码
class Context { private String input; private String output; public Context(String input) { this.input = input; this.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; } } abstract class Expression { public abstract void interpret(Context context); } class AExpression extends Expression { public void interpret(Context context) { System.out.println("a expression"); String input = context.getInput(); context.setInput(input.substring(1)); context.setOutput(context.getOutput()+ "1"); } } class BExpression extends Expression { public void interpret(Context context) { System.out.println("b expression"); String input = context.getInput(); context.setInput(input.substring(1)); context.setOutput(context.getOutput()+ "2"); } } public class TestInterpreter { public static void main(String[] args) { String str = "ab"; Context context = new Context(str); List<Expression> list = new ArrayList<Expression>(); list.add(new AExpression()); list.add(new BExpression()); for(Expression ex : list) { ex.interpret(context); } System.out.println(context.getOutput()); } }
在JDK中使用解释器模式:
java.util.Pattern
相关文章推荐
- java设计模式——解释器模式
- Java设计模式笔记:解释器
- 【Java设计模式】· 解释器模式(Interpreter Pattern)
- Java设计模式十四:解释器模式(Interpreter)
- 设计模式之第5章-解释器模式(Java实现)
- Java设计模式-解释器模式(Interpreter)
- 设计模式学习笔记--解释器模式Interpreter与访问者模式Visitor(Java版)
- Java设计模式(二十三)----解释器模式
- JAVA设计模式十五:--Interpreter(解释器模式)
- java设计模式_解释器模式
- Java私塾:研磨设计模式 之 解释器模式(Interpreter)1
- JAVA设计模式(22):行为型-解释器模式(Interpreter)
- java设计模式-解释器模式(Interpreter)
- Java开发中的23种设计模式之二十三:解释器模式(Interpreter)
- java设计模式23——解释器模式(Interpreter)
- Java设计模式之从[计算器]分析解释器(Interpreter)模式
- JAVA设计模式(23) —<行为型>解释器模式(Interpreter)
- 重学java23种设计模式(15)解释器模式
- JAVA设计模式之解释器模式详解