要点:
1、解决的问题
2、使用的场景
3、不常用
一、解释器模式解决的问题
如果一种特定类型的问题发生的频率足够高,那么就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。
当我们需要开发一种新的语言时,可以考虑使用解释器模式。
一种不常用的设计模式。尽量不要使用解释器模式,后期维护会有很大麻烦。在项目中,可以使用Jruby,Groovy、java的js引擎来替代解释器的作用,弥补java语言的不足。
二、开发中常见的场景
1、EL表达式式的处理
2、正则表达式解释器
3、SQL语法的解释器
4、数学表达式解析器
如现成的工具包:Math Expression String Parser、Expression4J等。