十六、 Interpreter 解释器(行为型模式)
2011-04-21 13:08
387 查看
1. 动机
在软件构建过程中,如果某一特定领域的问题比较复杂,类似的模式不断重复出现,如果使用普通的编程方式来实现将面临非常频繁的变化。
在这种情况下,将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子,从而达到解决问题的目的。
2. 意图
给定一个语言,定义它的文法的一种表示,并定义一种解释器,这个解释器使用该表示来解释语言中的句子。
3. 结构图
4. 几个要点
• Interpreter模式的应用场合是Interpreter模式应用中的难点,
只有满足“业务规则频繁变化,且类似的模式不断重复出现,并且容易抽象为语法规则的问题”才适合使用Interpreter模式。
• 使用Interpreter模式来表示文法规则,从而可以使用面向对象技巧来方便地“扩展”文法。
• Interpreter模式比较适合简单的文法表示,对于复杂的文法表示,Interperter模式会产生比较大的类层次结构,需要求助于语法分析生成器这样的标准工具。
5. .net平台中的应用
*典型的应用是正则表达式解析器。
*对Html内容的解析也是一个典型应用。
6. 个人体会
该模式是利用面向对象的方式来实现一种可扩展的解析器。
在软件构建过程中,如果某一特定领域的问题比较复杂,类似的模式不断重复出现,如果使用普通的编程方式来实现将面临非常频繁的变化。
在这种情况下,将特定领域的问题表达为某种语法规则下的句子,然后构建一个解释器来解释这样的句子,从而达到解决问题的目的。
2. 意图
给定一个语言,定义它的文法的一种表示,并定义一种解释器,这个解释器使用该表示来解释语言中的句子。
3. 结构图
4. 几个要点
• Interpreter模式的应用场合是Interpreter模式应用中的难点,
只有满足“业务规则频繁变化,且类似的模式不断重复出现,并且容易抽象为语法规则的问题”才适合使用Interpreter模式。
• 使用Interpreter模式来表示文法规则,从而可以使用面向对象技巧来方便地“扩展”文法。
• Interpreter模式比较适合简单的文法表示,对于复杂的文法表示,Interperter模式会产生比较大的类层次结构,需要求助于语法分析生成器这样的标准工具。
5. .net平台中的应用
*典型的应用是正则表达式解析器。
*对Html内容的解析也是一个典型应用。
6. 个人体会
该模式是利用面向对象的方式来实现一种可扩展的解析器。
相关文章推荐
- 设计模式(二十)解释器模式(Interpreter)-行为型
- JAVA设计模式(22):行为型-解释器模式(Interpreter)
- 设计模式--解释器模式Interpreter(行为型)
- 十五、解释器模式Interpreter(行为型)
- 十一个行为型模式3:解释器模式-Interpreter Pattern【学习难度:★★★★★,使用频率:★☆☆☆☆】
- 设计模式22---设计模式之解释器模式(Interpreter)(行为型)
- 设计模式之(十六)- 解释器模式(interpreter)
- 行为型模式-Interpreter ( 解释器模式 )
- 设计模式十六:Interpreter(解释器)——类行为型模式
- 设计模式(15)--Interpreter(解释器模式)--行为型
- 设计模式(行为型模式) ----- 解释器模式(Interpreter)
- 行为型模式-解释器(interpreter)
- 设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 解释器模式(Interpreter) - Java实现
- 设计模式深入学习--Interpreter 解释器模式(行为型模式)
- C#面向对象模式设计第十六讲:Interpreter 解释器模式(行为型模式)
- [导入]C#面向对象设计模式纵横谈(16):(行为型模式) Interpreter 解释器模式.zip(9.14 MB)
- 行为型模式-----解释器(Interpreter)
- 面向对象设计模式之Interpreter解释器模式(行为型)
- 设计模式(15)-行为型-解释器模式(Interpreter)