0
点赞
收藏
分享

微信扫一扫

设计模式行为型:解释器模式(InterpreterPattern)

定义一个语言的文法,并创建一个解释器去解释该语言中的句子,这里的“语言”是指使用规定格式和语法的代码。

结构图

角色与理解

定义一个语言的文法,并创建一个解释器去解释该语言中的句子,这里的“语言”是指使用规定格式和语法的代码。

解释器模式共分为三种角色:

  • AbstractExpression(抽象表达式):终结符表达式与非终结符表达式的共同父类,声明了抽象的解释行为。

  • TerminalException(终结符表达式):抽象表达式的子类,包含文法中终结符的解释操作。

  • NonterminalException(非终结符表达式):抽象表达式的子类,实现了文法中非终结符的解释操作,内部包含非终结符表达式或者终结符表达式。

  • Context(环境类):上下文环境

终结符表达式是“一句话”中包含的所有最终解释单元,非终结符表达式将一组终结符表达式连接,完成“一句话”的解释,非终结符表达式将“几句话”连接,完成一段话的解释。

核心代码

  • 抽象表达式

  • 具体处理者

  • 非中介表达式

  • 处理类

举报

相关推荐

0 条评论