解释器模式用来描述如何构建一个简单的“语言”解释器。更加小众,只在一些特定的领域会被用到,比如编译器,规则引擎,正则表达式。

解释器的英文是 Interpreter Design Pattern。在《设计模式》中的定义:解释器模式为某个语言定义它的语法表示,并定义一个解释器用来处理这个语法。

解释器模式的代码实现比较灵活,没有固定的模板。我们前面说过,应用设计模式主要是应对代码的复杂性,解释器模式也不例外。它的代码实现的核心思想,就是将语法解析的工作拆分到各个小类中,以此来避免大而全的解析类。一般的做法是,将语法规则拆分一些小的独立的单元,然后对每个单元进行解析,最终合并为对整个语法规则的解析。

参考链接