设计模式16-解释器模式
1. 概念
给定一个语言,定义他的文法的一个表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子
2. 案例
package org.demo.interprerted.demo01; import java.util.ArrayList; import java.util.List; /** * */ class Context{ private String content ; private List<Expression> list = new ArrayList<Expression>() ; public void setContent(String content){ this.content = content ; } public String getContent(){ return this.content ; } public void add(Expression eps){ list.add(eps) ; } public List<Expression> getList() { return list; } } abstract class Expression{ abstract void interpret(Context ctx) ; //interpret 解析 } class AdvanceExpression extends Expression{ @Override void interpret(Context ctx) { System.out.println("这是高级解析器!"); } } class SimpleExpression extends Expression { void interpret(Context ctx) { System.out.println("这是普通解析器!"); } } public class InterpretedDemo01 { public static void main(String[] args) { Context ctx = new Context() ; ctx.add(new SimpleExpression()) ; ctx.add(new AdvanceExpression()) ; ctx.add(new SimpleExpression()) ; for(Expression eps : ctx.getList()){ eps.interpret(ctx) ; } } }