目录

解析器

领域规则模式

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

动机

  1. 在软件构建过程中, 如果某一特定领域的问题比较复杂, 类似的结构不断重复出现, 如果使用普通的编程方式来实现将面临非常频繁的变化
  2. 在这种情况下, 将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子, 从而达到解决问题的目的

模式定义

  1. 给定一个语言, 定义他的文法的一种表示, 并定义一种解释器, 这个解释器使用该表示来解释语言中的句子

要点总结

  1. Interpreter模式的应用场景是这个模式的一个难点,只有满足 “业务规则频繁变化, 且类似的结构不断重复出现, 并且容易抽象为语言规则的问题"才适合这种模式
  2. 使用这种模式来表示文法规则, 从而可以使用面向对象技巧来方便的 扩展 文法
  3. Interpreter模式适合简单的文法表示, 对于复杂的文法表示, 这种模式会产生较大的类层次结构,需要求助于第三方的语法分析器