简单的写了例子,首先是解释器接口,然后是两个实现解释器的类,再设计一个需要解释的类,最后是客户端主类。
解释器接口:
package com.freshbin.pattern.interpreter.myexample;
/**
* 解释器接口
*
* @author freshbin
* @date 2019年1月19日 下午3:30:12
*/
public interface ExpressionInterface {
public void interpret(Context context);
}
解释器类:
package com.freshbin.pattern.interpreter.myexample;
public class ExpressionA implements ExpressionInterface {
@Override
public void interpret(Context context) {
System.out.println("解释器A");
}
}
package com.freshbin.pattern.interpreter.myexample;
public class ExpressionB implements ExpressionInterface {
@Override
public void interpret(Context context) {
System.out.println("解释器B");
}
}
需要解释的类:
package com.freshbin.pattern.interpreter.myexample;
/**
* 需要解释的信息
*
* @author freshbin
* @date 2019年1月19日 下午3:29:43
*/
public class Context {
}
客户端主类
package com.freshbin.pattern.interpreter.myexample;
/**
* 解释器模式
*
* @author freshbin
* @date 2019年1月19日 下午3:29:01
*/
public class InterpreterPatternDemo {
public static void main(String[] args) {
Context context = new Context();
ExpressionInterface expressionA = new ExpressionA();
ExpressionInterface expressionB = new ExpressionB();
expressionA.interpret(context);
expressionB.interpret(context);
}
}
效果: