java实现解释器(interpreter)模式的示例代码
/**
* 声明一个抽象的解释操作
* @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);
}
}
以上就是java实现解释器(interpreter)模式的示例代码的详细内容。