美文网首页
解释器模式

解释器模式

作者: 姬94 | 来源:发表于2017-07-13 13:36 被阅读11次

解释器模式定义

定义一个语言的文法,并且建立一个解释器来解释该语言中的句子,这里的“语言”是指使用规定格式和语法的代码,解释器模式是一种类行为型模式

解释器模式结构图

image.png

解释器模式主要优缺点

优点
1.易于改变和扩展文法。由于在解释器模式中使用类来表示语言的文法规则,因此可以通过继承等机制来改变或者扩展文法。
2.每一条文法规则都可以表示为一个类,因此可以方便地实现一个简单的语言。
3.实现文法较为容易。在抽象语法书中每一个表达式节点类的实现方式都是相似的。这些类的代码编写都不会特别复杂,还可以通过一些工具自动生成节点类代码。
4.增加新的解释表达比较方便,如果用户需要增加新的解释表达式只需要对应增加一个新的终结符表达式或非终结符表达式类,原有表达式类代码无须修改,闭合开闭原则。
缺点
1.对于复杂文法难以维护。在解释器模式中,每一条规则至少需要定义一个类,因此如果一个语言包包含太多文法规则,类的个数将会急剧增加。导致系统难易管理和维护,此时可以考虑使用语法分析程序等方式来取代解释器模式。
2.执行效率较低。由于在解释器模式中使用大量的循环和递归,因此在解释较为复杂的句子时其速度很慢,而且代码调用过程也比较麻烦。

解释器模式适用场景

1.可以将一个需要解释执行的语言中的句子表示为一个抽象语法树。
2.一些重复出现的问题可以用一个简单的语言来进行表达。
3.一个语言的文法比较简单。
4.执行效率不是关键问题。

相关文章

  • 第5章 -行为型模式-解释器模式(终)

    一、解释器模式的简介 二、解释器模式的优缺点 三、解释器模式的实例

  • 17.解释器模式(行为型)

    解释器模式(行为型) 解释器模式很难学,使用率很低! 一、相关概念 1). 解释器模式概述 解释器模式是一种使用频...

  • 解释器模式

    一、解释器模式介绍 二、解释器模式代码实例

  • 解释器模式

    解释器模式 解释器模式的定义 解释器模式(Interpreter Pattern)是一种按照规定语法进行解析的方案...

  • 行为型模式:解释器模式

    原文首发:行为型模式:解释器模式 十一大行为型模式之十:解释器模式。 简介 姓名 :解释器模式英文名 :Inter...

  • 折腾Java设计模式之解释器模

    解释器模式 解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器...

  • 设计模式[22]-解释器模式-Interpreter Patte

    1.解释器模式简介 解释器模式(Interpreter Pattern)模式是行为型(Behavioral)设计模...

  • 解释器模式

    今天和大家分享的模式是解释器模式。 首先介绍一下解释器模式适合解决哪类问题。 其实,解释器模式需要解决的问题是,如...

  • 解释器模式

    1. 解释器模式 1.1 定义: 解释器模式(Interpreter) : 定义一种文法的表示,并定义一种解释器...

  • 设计模式解释器模式

    解释器模式的定义 解释器模式 (Interpreter Pattern):定义一个语言的文法,并且建立一个解释器来...

网友评论

      本文标题:解释器模式

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