解释器模式Interpreter Pattern

定义

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

适用场景

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

举例

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

优点

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

缺点

  1. 语法规则较复杂时,会引起类膨胀。
  2. 执行效率比较低。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。