27.解释器模式

解释器模式(Interpreter Pattern)是一种按照规定语法进行解析的方案,其定义如下:Given a language,define a representation for its grammer along with an interpreter that uses the representation to interpret sentences in the language.给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子。

解释器模式的优点:

  • 解释器是一个简单语法分析工具,它最显著的优点就是扩展性,修改语法规则只要修改相应的非终结符表达式就可以了,若扩展语法,则只要增加非终结符类就可以了。

解释器模式的缺点:

  • 解释器模式会引起类膨胀
  • 解释器模式采用递归调用方法
  • 效率问题

解释器模式的使用场景:

  • 重复发生的问题可以使用解释器模式
  • 一个简单语法需要解释的场景

在项目中可以使用shell、JRuby、Groovy等脚本语言来代替解释器模式,弥补Java编译型语言的不足。

results matching ""

    No results matching ""