Java设计模式(行为型)之-解释器模式(Interpreter)
行为型模式分类图:
解释器模式一般主要应用在OOP开发中的编译器的开发中,所以适用面比较窄,类图如下:
Context类是一个上下文环境类,Plus和Minus分别是用来计算的实现,示例代码如下:
public class ExpressionTest {
public static void main(String[] args) {
// 计算 9+2-8
int result=new Minus().interpret(new Context1(new Plus().interpret(new Context1(9, 2)), 8));
System.out.println(result);
}
}
interface Expression{
public int interpret(Context1 context1);
}
class Context1
{
private int num1;
private int num2;
public Context1(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;
}
}
class Plus implements Expression
{
@Override
public int interpret(Context1 context1) {
int result=context1.getNum1()+context1.getNum2();
return result;
}
}
class Minus implements Expression
{
@Override
public int interpret(Context1 context1) {
int result=context1.getNum1()-context1.getNum2();
return result;
}
}
输出结果:3