解释器模式,包含如下几类角色:
- context: 全局上下文,将作为参数传入解释器
- Interpret:解释器的抽象,本例中是Expression
- ConcreteInterpret:某个具体的解释器,本例中是OneExpression
代码如下:
- Context
public class Context {
private String value;
public Context(){
this.value = "Init";
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
- Expression
public interface Expression {
public void interpret(Context context);
}
- OneExpression
public class OneExpression implements Expression {
@Override
public void interpret(Context context) {
System.out.println("OneExpression interpret " + context.getValue());
}
}
- APP 测试类
public class App {
public static void main(String[] args) {
Context context = new Context();
OneExpression expression = new OneExpression();
expression.interpret(context);
}
}