给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子
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);
}
}
分享到:
相关推荐
Interpreter模式是一种行为设计模式,它允许我们使用表达式来定义语言的文法,并提供一个解释器来解释这些表达式。在C++中,Interpreter模式通常用于处理简单的语言或表达式,比如配置文件、计算器程序或者游戏规则...
Interpreter模式是一种行为设计模式,它允许我们定义一个语言的文法,并提供一个解释器来处理该语言中的句子。在这个场景中,我们将运用Interpreter模式来实现一个简单的计算器,它能够执行基本的算术运算,如加法、...
C#面向对象设计模式 (行为型模式) Interpreter 解释器模式 视频讲座下载
从提供的文件信息中,我们可以推断该课件《C++设计模式课件25_Interpreter.pdf》是关于C++语言实现设计模式中的解释器模式(Interpreter Pattern)的一部分教学资料。文件中出现的网站***和网易云课堂是指两个在线...
解释器模式(Interpreter模式)是设计模式的一种,主要用于在程序设计中实现对特定语言或表达式的解释。在Java中,这种模式的应用可以帮助我们构建一种语言的解析器,从而理解和执行该语言的句子。以下是对解释器...
在C#面向对象设计模式的系列中,第16部分专门探讨了Interpreter模式,级别为300,意味着它针对的是有一定经验的开发者,涉及的概念和实现可能相对复杂。 解释器模式的主要组成部分包括以下几个角色: 1. **抽象...
行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式) 2) 学习目标:通过学习,学员...
singleton模式、Factory模式、Abstract Factory模式、Builder模式、Prototype模式、Adapter模式、Bridge模式、Composite模式、Decorator模式、Flyweight...Interpreter模式、Iterator模式、Mediator模式、Memento模式等...
Interpreter模式是一种行为模式,旨在解决给定一个语言,定义它的文法的一种表示,并定义一个解释器的问题。该模式可以将一个语言的文法表示出来,并使用该表示来解释语言中的句子。 Iterator模式 Iterator模式是...
Interpreter模式给出了评估语言的文法规则,可以用来定义语言的解释器。 ### 总结 设计模式不仅仅是编程技巧的集合,它们代表了软件工程领域多年经验的结晶,为解决常见问题提供了标准化的解决方案。掌握设计模式...
- Interpreter模式:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 在实际开发中,设计模式的使用可以帮助开发人员避免重新发明轮子,同时也能够为团队提供...
- **Interpreter模式**:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 #### 4. 总结 设计模式的学习不仅是为了记住每种模式的应用场景,更重要的是理解其...
Interpreter模式给出了解释器的文法表示,并定义了一个解释器,该解释器使用该表示来解释语言中的句子。 以上设计模式不仅在理论上具有深刻的意义,在实践中更是程序员们解决具体问题的利器。它们代表了软件设计中...
Interpreter模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。这种模式适用于当有一个语言需要解释执行,并且你可将文法表示为一个抽象语法树时。 #### 4. ...
Interpreter模式给出一个语言的文法,并定义一个解释器来解释该语言中的句子。这里的“语言”是指使用规定格式和语法的代码组成的规则。 #### 总结 设计模式是软件工程领域的重要组成部分,对于提升软件的质量、...
Interpreter模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 - **适用场景**:重复发生的解析任务;需要执行一个定义好的规则集;一个简单的语法需要...
11. Interpreter模式,解释器模式,给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 文档在最后提出了设计模式在开发中的体验,讨论了设计模式的思考和应用。...
Interpreter模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 通过对这23种设计模式的深入解析与C++代码实现,开发者可以更深入地理解面向对象设计原则,...