解析器
目录
领域规则模式
- 什么是领域规则
- 在特定领域中, 某些变化虽然频繁, 但可以抽象为某种规则,这时候, 结合特定领域, 将问题抽象为语法规则, 从而给出在该领域下的一般性的解决方案
- 典型模式
- Interpreter
动机
- 在软件构建过程中, 如果某一特定领域的问题比较复杂, 类似的结构不断重复出现, 如果使用普通的编程方式来实现将面临非常频繁的变化
- 在这种情况下, 将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子, 从而达到解决问题的目的
模式定义
- 给定一个语言, 定义他的文法的一种表示, 并定义一种解释器, 这个解释器使用该表示来解释语言中的句子
要点总结
- Interpreter模式的应用场景是这个模式的一个难点,只有满足 “业务规则频繁变化, 且类似的结构不断重复出现, 并且容易抽象为语言规则的问题"才适合这种模式
- 使用这种模式来表示文法规则, 从而可以使用面向对象技巧来方便的 扩展 文法
- Interpreter模式适合简单的文法表示, 对于复杂的文法表示, 这种模式会产生较大的类层次结构,需要求助于第三方的语法分析器