美文网首页
行为型设计模式.解释器模式

行为型设计模式.解释器模式

作者: 双鱼子曰1987 | 来源:发表于2020-12-08 11:33 被阅读0次

一、概念

1.1、定义

定义了一个解释器,来解释给定语言和文法的句子。其实质是把语言中的每个符号定义成一个(对象)类,从而把每个程序转换成一个具体的对象树。


82C492DE-4309-4073-A622-97B87AE98641.png
  • AbstractExpression,抽象表达式类:核心类,主要定了解析器的解析方法入口。
  • Terminal Expression,终结符表达式类:如其名,代表了文法中的终结符。
  • Nonterminal Expression,非终结符表达式类:文法中其他非终结符的所有字符
  • Context,环境类:一般,存储各个解释器需要的共同数据或是公共的功能。
1.2、解决的问题
  • 解决问题:针对需要解析一些固定文法的,需要构建一个解释句子的解释器。
  • 模式解决思路:将文法划分为 终结符表达式类 和 非终结符表达式类,然后通过Context来管理解析过程的上下文环境。

二、模式的应用和优缺点

2.1、应用场景
  • 实例:编译器、运算表达式计算。
  • 实例:有一定文法规则文本解析,例如公交车卡的读卡器程序。
2.2、优缺点
  • 优点:

    • 易于实现,且解析语言场景下扩张性好。
  • 缺点:

    • 效率差:模式中通常使用大量的循环和递归调用,当要解释的句子较复杂时,其运行速度很慢。还有代码的调试过程很麻烦,很痛苦。
    • 应用场景很少,正如其名,解析器模式基本用语编程语言的解析中。

其他

解释器模式(详解版)

相关文章

网友评论

      本文标题:行为型设计模式.解释器模式

      本文链接:https://www.haomeiwen.com/subject/pzzzwktx.html