- 浏览: 29419 次
- 性别:
- 来自: 北京
设计模式之Interpreter(解释器)
Interpreter定义:
定义语言的文法 ,并且建立一个解释器来解释该语言中的句子.
Interpreter似乎使用面不是很广,它描述了一个语言解释器是如何构成的,在实际应用中,我们可能很少去构造一个语言的文法.我们还是来简单的了解一下:
首先要建立一个接口,用来描述共同的操作.
public interface AbstractExpression {
void interpret( Context context );
}
再看看包含解释器之外的一些全局信息
public interface Context { }
AbstractExpression的具体实现分两种:终结符表达式和非终结符表达式:
public class TerminalExpression implements AbstractExpression {
public void interpret( Context context ) { }
}
对于文法中没一条规则,非终结符表达式都必须的:
public class NonterminalExpression implements AbstractExpression {
private AbstractExpression successor;
public void setSuccessor( AbstractExpression successor ) {
this.successor = successor;
}
public AbstractExpression getSuccessor() {
return successor;
}
public void interpret( Context context ) { }
}
Interpreter定义:
定义语言的文法 ,并且建立一个解释器来解释该语言中的句子.
Interpreter似乎使用面不是很广,它描述了一个语言解释器是如何构成的,在实际应用中,我们可能很少去构造一个语言的文法.我们还是来简单的了解一下:
首先要建立一个接口,用来描述共同的操作.
public interface AbstractExpression {
void interpret( Context context );
}
再看看包含解释器之外的一些全局信息
public interface Context { }
AbstractExpression的具体实现分两种:终结符表达式和非终结符表达式:
public class TerminalExpression implements AbstractExpression {
public void interpret( Context context ) { }
}
对于文法中没一条规则,非终结符表达式都必须的:
public class NonterminalExpression implements AbstractExpression {
private AbstractExpression successor;
public void setSuccessor( AbstractExpression successor ) {
this.successor = successor;
}
public AbstractExpression getSuccessor() {
return successor;
}
public void interpret( Context context ) { }
}
发表评论
-
模式Visitor
2011-02-26 01:03 700设计模式之Visitor Visitor ... -
模式Template
2011-02-26 01:03 695设计模式之Template Template定义: 定义一个操 ... -
模式Strategy
2011-02-26 01:02 801设计模式之Strategy(策略) ... -
模式State
2011-02-26 01:02 649设计模式之State State的 ... -
模式Singleton
2011-02-26 01:02 723设计模式之Singleton(单态 ... -
模式Proxy
2011-02-26 01:01 656设计模式之Proxy(代理) 理解并使用设计模式,能够培养我们 ... -
模式Prototype
2011-02-26 01:01 699设计模式之Prototype(原型) 定义: 用原型实例指定创 ... -
模式Observer
2011-02-26 01:00 711设计模式之Observer Java深入到一定程度,就不可避免 ... -
模式Memento
2011-02-26 00:59 704设计模式之Memento(备忘 ... -
模式Mediator
2011-02-26 00:59 768设计模式之Mediator(中介者) Mediator定义: ... -
模式Flyweight
2011-02-26 00:57 625设计模式之Flyweight(享元) Flyweight定义: ... -
模式Factory
2011-02-26 00:56 640设计模式之Factory 定义:提供创建对象的接口. 为何使用 ... -
模式Facade
2011-02-26 00:55 692设计模式之Facade(外观) Facade的定义: 为子系统 ... -
模式Decorator
2011-02-26 00:54 714设计模式之Decorator(油漆 ... -
模式Command
2011-02-26 00:52 611设计模式之Command Command模式是最让我疑惑的一个 ... -
模式Composite
2011-02-26 00:51 756设计模式之Composite(组合) Composite定义 ... -
模式Chain of Responsibility
2011-02-26 00:49 568设计模式之Chain of Respons ... -
模式Builder
2011-02-26 00:48 635设计模式之Builder Builder ... -
模式Bridge
2011-02-26 00:47 670设计模式之Bridge Bridge定义 : 将抽象和行为划 ... -
模式Adapter
2011-02-26 00:45 654设计模式之Adapter(适配 ...
相关推荐
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不... 这是第16节:行为型模式Interpreter解释器模式
C#面向对象设计模式 (行为型模式) Interpreter 解释器模式 视频讲座下载
解释器模式属于软件设计模式的一种,它在面向对象编程中提供了处理特定类型语言的语法表示方法。在PHP中实现解释器模式,可以通过定义一个表达式接口以及一系列具体的表达式实现类来解析不同的表达式,而解释器类则...
“Interpreter模式”是设计模式中的一种,主要应用于解决表达式问题,它为特定语言提供了表达式接口,使得程序可以理解和执行这些表达式。在Java中实现Interpreter模式,可以创建一个灵活的、可扩展的解析系统,允许...
Interpreter模式给出了评估语言的文法规则,可以用来定义语言的解释器。 ### 总结 设计模式不仅仅是编程技巧的集合,它们代表了软件工程领域多年经验的结晶,为解决常见问题提供了标准化的解决方案。掌握设计模式...
Interpreter模式是一种行为模式,旨在解决给定一个语言,定义它的文法的一种表示,并定义一个解释器的问题。该模式可以将一个语言的文法表示出来,并使用该表示来解释语言中的句子。 Iterator模式 Iterator模式是...
Interpreter模式给出了解释器的文法表示,并定义了一个解释器,该解释器使用该表示来解释语言中的句子。 以上设计模式不仅在理论上具有深刻的意义,在实践中更是程序员们解决具体问题的利器。它们代表了软件设计中...
从提供的文件信息中,我们可以推断该课件《C++设计模式课件25_Interpreter.pdf》是关于C++语言实现设计模式中的解释器模式(Interpreter Pattern)的一部分教学资料。文件中出现的网站***和网易云课堂是指两个在线...
解释器模式(Interpreter Pattern)是一种行为型设计模式,用于为特定语言的句法定义一个解释器。它通过定义一个语言的文法表示以及解释器的实现来解析和执行表达式。这种模式通常用于设计语言、脚本或规则引擎。 ...
Interpreter模式是一种行为设计模式,它允许我们使用表达式来定义语言的文法,并提供一个解释器来解释这些表达式。在C++中,Interpreter模式通常用于处理简单的语言或表达式,比如配置文件、计算器程序或者游戏规则...
Interpreter模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 这些设计模式覆盖了面向对象设计中的三大主要领域:创建型、结构型和行为型,旨在帮助开发者...
Interpreter模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 设计模式的学习和掌握是一个循序渐进的过程,需要不断地实践和反思。通过深入理解和灵活运用...
Interpreter模式给出了评估语言的文法的一种表示,并定义了一个解释器,这个解释器使用该表示来解释语言中的句子。在C++中,Interpreter模式通常涉及到使用抽象语法树和解释器类,通过解释器类的方法来解析和执行...
Interpreter模式给出一个语言的文法,并建立一个解释器来解释由该语言编写的程序。可应用于算术表达式求值等场景。 通过学习和应用这些设计模式,开发者可以编写出更加模块化、可维护和可扩展的软件系统。C++源代码...
Interpreter模式是一种行为型设计模式,用于定义一个语言的文法,并建立一个解释器来解释该语言中的句子。在幽默的例子中,理解女朋友的话语可能需要一个解释器来解析其中的含义。在实际应用中,解释器模式可以用于...
Interpreter模式定义一个语言的文法,并且建立一个解释器来解释该语言中句子。 设计模式的学习是一个长期而艰辛的过程,但掌握了设计模式,就能够更深刻地理解面向对象编程的精髓,设计出更加优雅、可扩展的系统。...