解释器模式(Interpreter Pattern):定义语言的文法,并建立一个解释器来解释该语言中的句子,这里的"语言"的意思是使用规定格式的语法的代码,解释器模式是一种类型为型模式。
模式动机:
如果在系统中某一特定类型的问题发生的频率很高,此时可以考虑将这些问题的实例表述为一个语言中的句子,因此可以构建一个解释器,该解释器可以通过解释这些句子来解决问题。
模式结构:
- AbstractExpression:抽象表达式
- TerminalExpression:终结符表达式
- NonterminalExpression:非终结符表达式
- Context: 环境类
模式分析:
解释器模式描述了如何为一个简单的语言定义一个文法,如何在该语言中表示一个句子,以及如何解释这些句子。
具体类图实现:
解释器优缺点:
优点
- 易于改变和扩展文法
- 易于实现文法
- 增加了i虚拟的解释表达式的方式
缺点:
- 对于复杂的文法难以维护
- 执行效率较低
- 应用场景有限