您的位置:首页 > 编程语言 > Java开发

Java设计模式之解释器模式

2018-02-04 21:26 281 查看

概念

这个模式不是特别常用,好像几乎见不到,先看看代码,以后有时间再补充。

示例代码

interface Expression {
public String interpret(String context);
}

class TerminalExpression implements Expression {

private String data;

public TerminalExpression(String data) {
this.data = data;
}

@Override
public String interpret(String context) {
return this.data+context;
}
}

class RegularExpression implements Expression {

private Expression expr1 = null;
private Expression expr2 = null;

public RegularExpression(Expression expr1, Expression expr2) {
this.expr1 = expr1;
this.expr2 = expr2;
}

@Override
public String interpret(String context) {
return expr1.interpret(context)+expr2.interpret(context);
}
}

public class Client {
public static Expression Result() {
Expression expression1=new TerminalExpression("a");
Expression expression2=new TerminalExpression("b");
return new RegularExpression(expression1,expression2);
}
public static void main(String[] args) {
Expression a=Result();
System.out.println(a.interpret("----"));

}
}


输出结果

a----b----
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: