解释器模式定义(Interpreter):ide
给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子;this
1-一、简单UML图spa
1-二、代码实现code
//一、信息包(Context) class Context { public String message; //信息 public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } //2-解释器父类 abstract class AbstractExpression { public abstract void Interpret(Context context); } //2-一、解释器A class ExpressionA extends AbstractExpression { @Override public void Interpret(Context context) { System.out.println("原始信息:"+context.getMessage()); System.out.println("解释器A完成解释---------------"); } } //2-二、解释器B class ExpressionB extends AbstractExpression { @Override public void Interpret(Context context) { System.out.println("原始信息:"+context.getMessage()); System.out.println("解释器B完成解释--------------"); } }
客户端blog
Context ct = new Context(); ct.setMessage("欢迎来到广东"); AbstractExpression ea = new ExpressionA(); ea.Interpret(ct); AbstractExpression eb = new ExpressionB(); eb.Interpret(ct);
运行结果get
一、若是一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。io
这样就能够构建一个解释器,该解释器经过解释这些句子来解决该问题。class