您的位置:首页 > 编程语言 > Java开发

Java 实现解释器(Interpreter)模式

2014-10-14 17:30 417 查看
/**
* 声明一个抽象的解释操作
* @author stone
*
*/
public interface Interpreter {

public void interpret(Context context);  //实际中,可以有个返回的类型,定义解释出的数据对象
}
public class XmlSaxInterpreter implements Interpreter {

@Override
public void interpret(Context context) {
System.out.println("xml sax Interpreter:" + context.getData());
}

}
public class XmlDomInterpreter implements Interpreter {

@Override
public void interpret(Context context) {
System.out.println("xml dom Interpreter:" + context.getData());
}

}
/**
* 包含解释器之外的一些信息
* @author stone
*
*/
public class Context {
private String data;

public String getData() {
return data;
}

public void setData(String data) {
this.data = data;
}
}

/*
* 解释器(Interpreter)模式
* 给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。 属于行为型模式
* 应用场合,如编译器、正则表达式、语言规范...
* 解释器模式在实际的系统开发中使用的非常少,因为它会引起效率、性能以及维护等问题,
*/
public class Test {
public static void main(String[] args) {
Context context = new Context();
context.setData("一段xml数据");
new XmlSaxInterpreter().interpret(context);
new XmlDomInterpreter().interpret(context);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: