您现在的位置是:网站首页> 设计模式 设计模式

解释器模式

夜雨 2015-10-21 16:55 设计模式 1654人已围观

简介解释器模式

// 抽象表达式
public abstract class AbstractExpression {
	// 抽象解释器方法
	public abstract void Interpret(Context context);

}

// 终端解释器
public class TerminalExpression extends AbstractExpression {

	@Override
	public void Interpret(Context context) {
		// TODO Auto-generated method stub
		System.out.println(context.getInputString());
		System.out.println("终端解释器!");
	}

}

// 非终端解释器
public class NonterminalExpression extends AbstractExpression {

	@Override
	public void Interpret(Context context) {
		// TODO Auto-generated method stub
		System.out.println(context.getInputString());
		System.out.println("非终端解释器!");
	}

}

// 信息包
public class Context {
	private String inputString;
	private String outputString;
	
	// 设定输入文本
	public void setInputString(String inputString){
		this.inputString=inputString;
	}
	
	// 获取输入文本
	public String getInputString(){
		return inputString;
	}
	
	// 设定输出文本
	public void setOutputString(String outputString){
		this.outputString=outputString;
	}
	
	// 获取输入文本
	public String getOutputString(){
		return outputString;
	}

}

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Context context=new Context();
		context.setInputString("输入文字!");
		
		List<AbstractExpression> list=new ArrayList<AbstractExpression>();
		list.add(new TerminalExpression());
		list.add(new NonterminalExpression());
		list.add(new TerminalExpression());
		
		for(int i=0;i<list.size();i++){
			(list.get(i)).Interpret(context);
		}
	}

}

很赞哦!(459)

上一篇: 原型模式

下一篇:迭代器模式

文章评论

夜雨

夜雨(共34篇文章)

弃我去者,昨日之日不可留
乱我心者,今日之日多烦忧
长风万里送秋雁,对此可以酣高楼
蓬莱文章建安骨,中间小谢又清发
俱怀逸兴壮思飞,欲上青天览明月
抽刀断水水更流,举杯消愁愁更愁
人生在世不称意,明朝散发弄扁舟