解释器模式Interpreter Pattern

定义

解释器模式(Interpreter Pattern)给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
特征:为了解释一种语言,而为语言创建的解释器。
属于行为型模式。

适用场景

  1. 一些重复出现的问题可以用一种简单的语言来进行表达。
  2. 一个简单语法需要解释的场景。

举例

  1. JDK Pattern regex 正则表达式
  2. Spring Expression

优点

  1. 扩展性强:在解释器模式中由于语法是由很多类表示的,当语法规则更改时,只需修改相应的非终结符表达式即可;若扩展语法时,只需添加相应非终结符类即可。
  2. 增加了新的解释表达式的方式。
  3. 易于实现文法:解释器模式对应的文档应当是比较简单且易于实现的,过于复杂的语法并不适合使用解释器模式。

缺点

  1. 语法规则较复杂时,会引起类膨胀。
  2. 执行效率比较低。

你可能感兴趣的:(解释器模式Interpreter Pattern)