设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 解释器模式(Interpreter) - Java实现

时间:2022-09-11 21:45:44

设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 解释器模式(Interpreter)
语言解释器,用预先定义的文法解释语言。一般主要应用在编译器的开发中,因此适用面很窄。

一、说明:
1、Context 环境类;
2、IExpression 表达式(接口);
3、Plus 表达式(实现类)。

二、Java实现,代码如下:
1、Context

package com.java.designPattern.interpreter;

/**
* 环境类
*
*/

public class Context {

private Integer left;
private Integer right;

public Context(Integer left, Integer right) {
this.left = left;
this.right = right;
}

public Integer getLeft() {
return left;
}

public void setLeft(Integer left) {
this.left = left;
}

public Integer getRight() {
return right;
}

public void setRight(Integer right) {
this.right = right;
}

}

2、IExpression

package com.java.designPattern.interpreter;

/**
* 表达式
*
*/

public interface IExpression {

public Integer interpreter(Context context);

}

3、Plus

package com.java.designPattern.interpreter;

/**
* 表达式 - 实现类
*
*/

public class Plus implements IExpression {

@Override
public Integer interpreter(Context context) {
return context.getLeft() + context.getRight();
}

}

4、Test

package com.java.designPattern.interpreter;

/**
* 测试类
*
*/

public class Test {

public static void main(String[] args) {
Context context = new Context(1, 2);
Integer result = new Plus().interpreter(context);
System.out.println(context.getLeft() + " plus " + context.getRight() + " result is " + result);
}

}

输出:
1 plus 2 result is 3