`
gary0416
  • 浏览: 333498 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Interpreter模式

阅读更多

给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子

AbstractExpression.java

package com.gary.designpattern.interpreter;

/**
 * 解释操作接口
 * @author gary
 *
 */
public interface AbstractExpression {
	public void interpret(int data);
}

 

LowerCaseExpression.java

package com.gary.designpattern.interpreter;

/**
 * 将数字解释成小写字母
 * @author gary
 *
 */
public class LowerCaseExpression implements AbstractExpression {

	@Override
	public void interpret(int data) {
		System.out.println(Util.int2String(data, 49));
	}

}

 

UpperCaseExpression.java

package com.gary.designpattern.interpreter;

/**
 * 将数字解释成大写字母
 * @author gary
 *
 */
public class UpperCaseExpression implements AbstractExpression {

	@Override
	public void interpret(int data) {
		System.out.println(Util.int2String(data, 17));
	}

}

 

Util.java

package com.gary.designpattern.interpreter;

public class Util {
	public static String int2String(int data, int add){
		StringBuffer sb = new StringBuffer();
		byte[] bytes = String.valueOf(data).getBytes();
		for (byte b : bytes) {
			sb.append((char)(b + add));
		}
		return sb.toString();
	}
}

 

Test.java

package com.gary.designpattern.interpreter;

/**
 * 测试
 * @author gary
 *
 */
public class Test {
	public static void main(String[] args) {
		int data = 543210;
		AbstractExpression upper = new UpperCaseExpression();
		AbstractExpression lower = new LowerCaseExpression();
		upper.interpret(data);
		lower.interpret(data);
	}
}

 

分享到:
评论

相关推荐

    C++ Interpreter模式

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

    Interpreter模式实现简单计算器

    Interpreter模式是一种行为设计模式,它允许我们定义一个语言的文法,并提供一个解释器来处理该语言中的句子。在这个场景中,我们将运用Interpreter模式来实现一个简单的计算器,它能够执行基本的算术运算,如加法、...

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

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

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

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

    Java设计模式之解释器模式(Interpreter模式)介绍

    解释器模式(Interpreter模式)是设计模式的一种,主要用于在程序设计中实现对特定语言或表达式的解释。在Java中,这种模式的应用可以帮助我们构建一种语言的解析器,从而理解和执行该语言的句子。以下是对解释器...

    C#面向对象设计模式纵横谈(16):(行为型模式) Interpreter 解释器模式 (Level 300)

    在C#面向对象设计模式的系列中,第16部分专门探讨了Interpreter模式,级别为300,意味着它针对的是有一定经验的开发者,涉及的概念和实现可能相对复杂。 解释器模式的主要组成部分包括以下几个角色: 1. **抽象...

    JavaScript设计模式与开发实践.pdf

    singleton模式、Factory模式、Abstract Factory模式、Builder模式、Prototype模式、Adapter模式、Bridge模式、Composite模式、Decorator模式、Flyweight...Interpreter模式、Iterator模式、Mediator模式、Memento模式等...

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

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

    尚硅谷设计模式源码笔记课件.zip

    行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式) 2) 学习目标:通过学习,学员...

    C++设计模式.pdf

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

    23种设计模式(C++).pdf

    - Interpreter模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 在实际开发中,设计模式的使用可以帮助开发人员避免重新发明轮子,同时也能够为团队提供...

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

    - **3.11 Interpreter模式**:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 #### 4. 总结 设计模式的学习是一个循序渐进的过程,需要不断地实践和思考。...

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

    - **Interpreter模式**:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 #### 4. 总结 设计模式的学习不仅是为了记住每种模式的应用场景,更重要的是理解其...

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

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

    设计模式C++版

    11. Interpreter模式,解释器模式,给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 文档在最后提出了设计模式在开发中的体验,讨论了设计模式的思考和应用。...

Global site tag (gtag.js) - Google Analytics