定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
适用地:当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。像正则表达式、浏览器应...
分类:
其他好文 时间:
2014-07-27 11:25:22
阅读次数:
198
定义
给定一个语言, 定于它的文法,并定义一个解释器,这个解释器使用改表示来解释语言中的句子。
类型
行为型模式
案例
像非常熟知的正则表达式就是描述字符串模式的一种标准语言,它为每一个模式都构造了一个特定的算法。
AbstractExpression - 一个抽象的解释操作,这个接口为抽象语法树中所有的节点所共享...
分类:
其他好文 时间:
2014-07-16 14:32:56
阅读次数:
288
设计模式之解释器模式(Interpreter)摘录!...
分类:
其他好文 时间:
2014-07-08 13:59:22
阅读次数:
224
一、引子其实没有什么好的例子引入解释器模式,因为它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中;在实际应用中,我们可能很少碰到去构造一个语言的文法的情况。虽然你几乎用不到这个模式,但是看一看还是能受到一定的启发的。二、定义与结构解释器模式的定义如下:定义语言的文法,并且...
分类:
编程语言 时间:
2014-06-28 18:45:39
阅读次数:
290
继《设计模式——创建型模式》和《设计模式——结构型模式》之后,今天介绍一下行为型模式。
行为模式设计到算法和对象间的职责分配,不仅描述对象或类的模式,还描述他们之间的通信方式,客服了运行时难以跟踪的复杂的控制流,他们将你的注意力重控制流转移到对象间的关系上来。行为类模式采用继承机制在类间分派行为,例:模板方法模式、解释器模式;行为对象模式描述了一组相互对等的对象如何相互协作以...
分类:
其他好文 时间:
2014-06-15 14:52:59
阅读次数:
251
一、设计模式的分类
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式...
分类:
其他好文 时间:
2014-06-14 14:26:54
阅读次数:
279
解释器模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。简单描述:一个AbstractExpression类,多个子类,存在一个Interpret方法,转义Context对象的信息。客户端根据信息实例化不同的Expression类,并调用其转义方法...
分类:
编程语言 时间:
2014-06-13 13:12:44
阅读次数:
418
行为类模式包括责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法、访问者模式,我去,好多。。。下面主要挑选几个比较容易混淆且比较重要的模式进行对比说明。一、命令模式VS策略模式1、关注点不同策略模式关注的是算法替换的问题:一个新的算法投产,...
分类:
其他好文 时间:
2014-06-09 13:01:50
阅读次数:
236
创建模式:单件模式、工厂模式、抽象工厂模式、生成器模式、原型模式。结构模式:适配器模式、桥接模式、组成模式、装饰模式、外观模式、享元模式、代理模式。行为模式:中介者模式、命令模式、备忘录模式、状态模式、策略模式、解释器模式、迭代器模式、观察者模式、访问者模式、模板方法模式。第一类:单件模式(Sing...
分类:
其他好文 时间:
2014-05-22 02:24:18
阅读次数:
391
Context.javapackage edu.interpreter;public class
Context { private String input; private int output; public String getInput() {
return...
分类:
其他好文 时间:
2014-05-19 14:56:22
阅读次数:
322