Java中如何应用解释器模式进行设计?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1383个文字,预计阅读时间需要6分钟。
解释器模式用于解释文字面意思,同时解释某些内容的含义。这种设计模式在软件开发中应用较少。例如,SQL解析、符号处理引擎等,会用到解释器模式。主要适用于更底层的开发人员。
解释器模式字面意思,也即解释某些内容的含义。这种设计模式是实际开发中最不容易用到的。比如SQL解析,符号处理引擎,会用到解释器模式,属于更底层的开发人员才会用到的设计模式。
本文就以解释器模式的概念、角色和简单的例子说明解释器模式,读者对这部分内容了解即可。
一、概念
解释器模式是指给定一门语言,定义它的文法的一种表示(如:加减乘除表达式和正则表达式等),然后再定义一个解释器,该解释器用来解释我们的文法表示(表达式)。
解释器模式的结构与组合模式相似,不过其包含的组成元素比组合模式多,而且组合模式是对象结构型模式,而解释器模式是类行为型模式。
解释器模式中包含四个角色:
抽象解释器(Abstract Expression)角色:定义解释器的接口,约定解释器的解释操作,主要包含解释方法 interpret()。
终结符解释器(Terminal Expression)角色:是抽象表达式的子类,用来实现文法中与终结符相关的操作,文法中的每一个终结符都有一个具体终结表达式与之相对应。
非终结符解释器(Nonterminal Expression)角色:也是抽象表达式的子类,用来实现文法中与非终结符相关的操作,文法中的每条规则都对应于一个非终结符表达式。
环境(Context)角色:通常包含各个解释器需要的数据或是公共的功能,一般用来传递被所有解释器共享的数据,后面的解释器可以从这里获取这些值。
本文共计1383个文字,预计阅读时间需要6分钟。
解释器模式用于解释文字面意思,同时解释某些内容的含义。这种设计模式在软件开发中应用较少。例如,SQL解析、符号处理引擎等,会用到解释器模式。主要适用于更底层的开发人员。
解释器模式字面意思,也即解释某些内容的含义。这种设计模式是实际开发中最不容易用到的。比如SQL解析,符号处理引擎,会用到解释器模式,属于更底层的开发人员才会用到的设计模式。
本文就以解释器模式的概念、角色和简单的例子说明解释器模式,读者对这部分内容了解即可。
一、概念
解释器模式是指给定一门语言,定义它的文法的一种表示(如:加减乘除表达式和正则表达式等),然后再定义一个解释器,该解释器用来解释我们的文法表示(表达式)。
解释器模式的结构与组合模式相似,不过其包含的组成元素比组合模式多,而且组合模式是对象结构型模式,而解释器模式是类行为型模式。
解释器模式中包含四个角色:
抽象解释器(Abstract Expression)角色:定义解释器的接口,约定解释器的解释操作,主要包含解释方法 interpret()。
终结符解释器(Terminal Expression)角色:是抽象表达式的子类,用来实现文法中与终结符相关的操作,文法中的每一个终结符都有一个具体终结表达式与之相对应。
非终结符解释器(Nonterminal Expression)角色:也是抽象表达式的子类,用来实现文法中与非终结符相关的操作,文法中的每条规则都对应于一个非终结符表达式。
环境(Context)角色:通常包含各个解释器需要的数据或是公共的功能,一般用来传递被所有解释器共享的数据,后面的解释器可以从这里获取这些值。

