设计模式之解释器模式(Interpreter模式)

设计模式之解释器模式(Interpreter模式),第1张

设计模式之解释器模式(Interpreter模式) 一、UML类图

二、代码示例
  • Client:
public class Client {
    public static void main(String[] args) {
        Context context = new Context();
        expression terminalexpression = new Terminalexpression();
        expression expression = new NonTerminalexpression(terminalexpression);
        expression.interpret(context);
    }
}
  • expression:
public interface expression {
    void interpret(Context context);
}
  • Terminalexpression:
public class Terminalexpression implements expression{
    @Override
    public void interpret(Context context) { }
}
  • NonTerminalexpression:
public class NonTerminalexpression implements expression{
    private expression expression = null;

    public NonTerminalexpression(expression expression) {
        this.expression = expression;
    }

    @Override
    public void interpret(Context context) {
        expression.interpret(context);
    }
}
  • Context:
public class Context {
}
三、角色介绍
  • Client(客户端):
    客户端角色,程序的调用者。
  • expression(抽象表达式):
    该角色定义了语法树节点的共同接口。
  • Terminalexpression(终结符表达式):
    该角色定义了终结符表达式。
  • NonTerminalexpression(非终结符表达式):
    该角色定义了非终结符表达式。
  • Context(上下文):
    该角色为解释器进行语法解析提供了必要的信息。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5660198.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存