设计模式之Interpreter模式(笔记)
Posted ljbguanli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之Interpreter模式(笔记)相关的知识,希望对你有一定的参考价值。
解释器模式:给定一个语言。定义它的文法的一种表示,并定义一个解释器。这个解释器使用该表示解释语言中的句子。
首先定义一个抽象的解释接口AbstractExpression
public abstract class AbstractExpression {
public abstract void interpret(Contexts context);
}
接着定义终结符表达式TerminalExpression
public class TerminalExpression extends AbstractExpression{
@Override
public void interpret(Contexts context) {
System.out.println("终端解释器");
}
}
然后定义非终结符表达式
public class NonterminalExpression extends AbstractExpression{
@Override
public void interpret(Contexts context) {
System.out.println("非终端解释器");
}
}
接着定义一个context 类
public class Contexts {
private String input;
private String output;
public String getInput(){
return input;
}
public void setInput(String input){
this.input=input;
}
public String getOutput(){
return output;
}
public void setOutput(String output){
this.output=output;
}
}
client代码
public static void main(String[] args) {
//解释器模式
Contexts context=new Contexts();
List<AbstractExpression> list=new ArrayList<AbstractExpression>();
list.add(new TerminalExpression());
list.add(new NonterminalExpression());
list.add(new TerminalExpression());
list.add(new TerminalExpression());
Iterator<AbstractExpression> iterator=list.iterator();
while(iterator.hasNext()){
AbstractExpression expression=iterator.next();
expression.interpret(context);
}
}
以上是关于设计模式之Interpreter模式(笔记)的主要内容,如果未能解决你的问题,请参考以下文章
JAVA SCRIPT设计模式--行为型--设计模式之Interpreter解释器模式(15)
设计模式---领域规则模式之解析器模式(Interpreter)