`
lovang
  • 浏览: 29662 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • leayaya: 建议示例再做一下处理,比如实现和对象的操作换一下
    模式Bridge

模式Interpreter

    博客分类:
  • java
阅读更多
设计模式之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 ) { }
}
分享到:
评论

相关推荐

    C#面向对象设计模式纵横谈\16 行为型模式Interpreter解释器模式.zip

    在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不... 这是第16节:行为型模式Interpreter解释器模式

    (行为型模式) Interpreter 解释器模式

    C#面向对象设计模式 (行为型模式) Interpreter 解释器模式 视频讲座下载

    php设计模式 Interpreter(解释器模式)

    解释器模式属于软件设计模式的一种,它在面向对象编程中提供了处理特定类型语言的语法表示方法。在PHP中实现解释器模式,可以通过定义一个表达式接口以及一系列具体的表达式实现类来解析不同的表达式,而解释器类则...

    Interpreter模式

    “Interpreter模式”是设计模式中的一种,主要应用于解决表达式问题,它为特定语言提供了表达式接口,使得程序可以理解和执行这些表达式。在Java中实现Interpreter模式,可以创建一个灵活的、可扩展的解析系统,允许...

    C++设计模式.pdf

    Interpreter模式给出了评估语言的文法规则,可以用来定义语言的解释器。 ### 总结 设计模式不仅仅是编程技巧的集合,它们代表了软件工程领域多年经验的结晶,为解决常见问题提供了标准化的解决方案。掌握设计模式...

    设计模式原理与应用之行为模式.pptx

    Interpreter模式是一种行为模式,旨在解决给定一个语言,定义它的文法的一种表示,并定义一个解释器的问题。该模式可以将一个语言的文法表示出来,并使用该表示来解释语言中的句子。 Iterator模式 Iterator模式是...

    设计模式精解-GoF23种设计模式解析附C实现源码.pdf

    Interpreter模式给出了解释器的文法表示,并定义了一个解释器,该解释器使用该表示来解释语言中的句子。 以上设计模式不仅在理论上具有深刻的意义,在实践中更是程序员们解决具体问题的利器。它们代表了软件设计中...

    C++ 设计模式 (C++ 设计模式精解 + 代码实现)

    Interpreter模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 通过对这23种设计模式的深入解析与C++代码实现,开发者可以更深入地理解面向对象设计原则,...

    C++设计模式课件25_Interpreter.pdf

    从提供的文件信息中,我们可以推断该课件《C++设计模式课件25_Interpreter.pdf》是关于C++语言实现设计模式中的解释器模式(Interpreter Pattern)的一部分教学资料。文件中出现的网站***和网易云课堂是指两个在线...

    c++-设计模式之解释器模式(Interpreter)

    解释器模式(Interpreter Pattern)是一种行为型设计模式,用于为特定语言的句法定义一个解释器。它通过定义一个语言的文法表示以及解释器的实现来解析和执行表达式。这种模式通常用于设计语言、脚本或规则引擎。 ...

    C++ Interpreter模式

    Interpreter模式是一种行为设计模式,它允许我们使用表达式来定义语言的文法,并提供一个解释器来解释这些表达式。在C++中,Interpreter模式通常用于处理简单的语言或表达式,比如配置文件、计算器程序或者游戏规则...

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码.pdf

    Interpreter模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 这些设计模式覆盖了面向对象设计中的三大主要领域:创建型、结构型和行为型,旨在帮助开发者...

    23种设计模式(C++)

    Interpreter模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 设计模式的学习和掌握是一个循序渐进的过程,需要不断地实践和反思。通过深入理解和灵活运用...

    GoF+23种设计模式解析附C++实现源码(2nd+Edition).pdf

    Interpreter模式给出了评估语言的文法的一种表示,并定义了一个解释器,这个解释器使用该表示来解释语言中的句子。在C++中,Interpreter模式通常涉及到使用抽象语法树和解释器类,通过解释器类的方法来解析和执行...

    GoF 23种设计模式解析附C++实现源码(2nd Edition)

    Interpreter模式给出一个语言的文法,并建立一个解释器来解释由该语言编写的程序。可应用于算术表达式求值等场景。 通过学习和应用这些设计模式,开发者可以编写出更加模块化、可维护和可扩展的软件系统。C++源代码...

    23种设计模式幽默见解

    Interpreter模式是一种行为型设计模式,用于定义一个语言的文法,并建立一个解释器来解释该语言中的句子。在幽默的例子中,理解女朋友的话语可能需要一个解释器来解析其中的含义。在实际应用中,解释器模式可以用于...

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码

    Interpreter模式定义一个语言的文法,并且建立一个解释器来解释该语言中句子。 设计模式的学习是一个长期而艰辛的过程,但掌握了设计模式,就能够更深刻地理解面向对象编程的精髓,设计出更加优雅、可扩展的系统。...

Global site tag (gtag.js) - Google Analytics