将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子
领域规则模式
- 特定领域中,某些变化虽然频繁,但可以抽象为某种规则
- 结合特定领域,把问题抽象为语法规则
- 从而给出在该领域下的一般性解决方
- 典型模式
- Interpreter
Interpreter 解析器模式
动机
- 在软件构建过程中
- 如果某一特定领域的问题比较复杂
- 类似的结构重复出现
- 使用普通方式实现会面临频繁变化
- 这时将特定领域的问题表达为某种语法规则下的句子
- 然后构建一个解释器来解释这样的句子
- 以达到解决问题的目的
模式定义
- 给定一个语言,定义它方法的一种表示
- 并定义解释器来解释句子
结构
要点总结
- Interpreter模式的应用场景是Interpreter的难点
- 只有满足业务规则频繁变化
- 且类似的结构不断重复出现
- 且容易抽象为语法规则的问题
- 才适合解释器模式
- 解释器模式适合简单的文法结构
- 对于复杂的文法
- 需要求助于语法分析生成器这种标准工具