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

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

作者: 双鱼子曰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