signed

QiShunwang

“诚信为本、客户至上”

大话设计模式——23解释器模式

2021/6/24 17:08:14   来源:

一、概念

解释器模式,给定一个语句,定义它的一种表示,并定义一个解释器,这个解释器使用该表示来解释语句。比如正则表达式。

二、代码示例

public abstract class Expression {
    public abstract void explain(Context context);
}

public class MyExpression extends Expression {
    @Override
    public void explain(Context context) {
        System.out.println("我的解释器");
    }
}

public class YouExpression extends Expression {
    @Override
    public void explain(Context context) {
        System.out.println("你的解释器");
    }
}
public class Context {
    private String input;
    public String getInput() {
        return input;
    }
    public void setInput(String input) {
        this.input = input;
    }
}
public class RunMain {
    public static void main(String[] args) {
        Context context = new Context();
        List<Expression> expressions = new ArrayList<>();
        expressions.add(new MyExpression());
        expressions.add(new YouExpression());
        for (Expression expression : expressions) {
            expression.explain(context);
        }
    }
}