Java面向对象设计模式(二十三)——解释器模式(Interpreter)
2017-05-09 17:13
381 查看
相关文档总结:Java面向对象设计模式
解释器模式(Interpreter)
解释器模式是我们暂时的最后一讲,一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄。
Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现,代码如下:
[java] view
plain copy
public interface Expression {
public int interpret(Context context);
}
[java] view
plain copy
public class Plus implements Expression {
@Override
public int interpret(Context context) {
return context.getNum1()+context.getNum2();
}
}
[java] view
plain copy
public class Minus implements Expression {
@Override
public int interpret(Context context) {
return context.getNum1()-context.getNum2();
}
}
[java] view
plain copy
public class Context {
private int num1;
private int num2;
public Context(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
}
[java] view
plain copy
public class Test {
public static void main(String[] args) {
// 计算9+2-8的值
int result = new Minus().interpret((new Context(new Plus()
.interpret(new Context(9, 2)), 8)));
System.out.println(result);
}
}
最后输出正确的结果:3。
基本就这样,解释器模式用来做各种各样的解释器,如正则表达式等的解释器等等!
解释器模式(Interpreter)
解释器模式是我们暂时的最后一讲,一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄。
Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现,代码如下:
[java] view
plain copy
public interface Expression {
public int interpret(Context context);
}
[java] view
plain copy
public class Plus implements Expression {
@Override
public int interpret(Context context) {
return context.getNum1()+context.getNum2();
}
}
[java] view
plain copy
public class Minus implements Expression {
@Override
public int interpret(Context context) {
return context.getNum1()-context.getNum2();
}
}
[java] view
plain copy
public class Context {
private int num1;
private int num2;
public Context(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
}
[java] view
plain copy
public class Test {
public static void main(String[] args) {
// 计算9+2-8的值
int result = new Minus().interpret((new Context(new Plus()
.interpret(new Context(9, 2)), 8)));
System.out.println(result);
}
}
最后输出正确的结果:3。
基本就这样,解释器模式用来做各种各样的解释器,如正则表达式等的解释器等等!
相关文章推荐
- 浅谈Java设计模式(二十三)解释器模式(Interpreter)
- JAVA--解释器模式(Interpreter)--设计模式二十三
- Java开发中的23种设计模式之二十三:解释器模式(Interpreter)
- Java模式- Interpreter(解释器模式)
- JAVA设计模式十五:--Interpreter(解释器模式)
- Java设计模式(二十三)----解释器模式
- Java开发中的23种设计模式详解----解释器模式(Interpreter)
- java设计模式-解释器模式(Interpreter)
- Java 实现解释器(Interpreter)模式
- Java设计模式-解释器模式(Interpreter)
- Java设计模式《二十三》解释器模式
- 设计模式(十五)----- 解释器模式(Interpreter)----(JAVA版)
- 设计模式实现(二十三)--- 解释器模式(interpreter)
- Java设计模式之从[计算器]分析解释器(Interpreter)模式
- JAVA设计模式(22):行为型-解释器模式(Interpreter)
- 步步为营 .NET 设计模式学习笔记 二十三、Interpreter(解释器模式)
- Java设计模式十四:解释器模式(Interpreter)
- java设计模式23——解释器模式(Interpreter)
- 【设计模式 java】——解释器模式(Interpreter)
- 解释器模式(Interpreter)Java