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