设计模式(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