设计模式.领域规则模式

 

将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子

将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子

领域规则模式

  • 特定领域中,某些变化虽然频繁,但可以抽象为某种规则
    • 结合特定领域,把问题抽象为语法规则
    • 从而给出在该领域下的一般性解决方
  • 典型模式
    • Interpreter

Interpreter 解析器模式

动机

  • 在软件构建过程中
    • 如果某一特定领域的问题比较复杂
    • 类似的结构重复出现
    • 使用普通方式实现会面临频繁变化
  • 这时将特定领域的问题表达为某种语法规则下的句子
    • 然后构建一个解释器来解释这样的句子
    • 以达到解决问题的目的

模式定义

  • 给定一个语言,定义它方法的一种表示
  • 并定义解释器来解释句子

结构

要点总结

  • Interpreter模式的应用场景是Interpreter的难点
    • 只有满足业务规则频繁变化
    • 且类似的结构不断重复出现
    • 且容易抽象为语法规则的问题
    • 才适合解释器模式
  • 解释器模式适合简单的文法结构
    • 对于复杂的文法
    • 需要求助于语法分析生成器这种标准工具