给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子
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);
}
}
分享到:
相关推荐
23种设计模式之二十三(行为模式)Interpreter模式
运用Interpreter模式实现简单算术运算的C++源码
C#面向对象设计模式 (行为型模式) Interpreter 解释器模式 视频讲座下载
C++设计模式课件25_Interpreter.pdfC++设计模式课件25_Interpreter.pdf
主要介绍了Java设计模式之解释器模式(Interpreter模式)介绍,Interpreter定义:定义语言的文法,并且建立一个解释器来解释该语言中的句子,需要的朋友可以参考下
设计模式精解-GoF 23 种设计模式解析附 C++实现源码 目 录 引 言 0.1 设计模式解析(总序) 0.2 设计模式解析后记 0.3 与作者联系 1 创建型模式 1.1 Factory模式 ...3.11 Interpreter模式 4 说明
Design Pattern: Interpreter 模式 Design Pattern: Iterator 模式 Mediator 模式 Memento 模式 Observer 模式 State 模式 Strategy 模式 Template Method 模式 Visitor 模式 Guarded Suspension ...
Interpreter解释器模式在C#中的实现
行为型模式:模版方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式) 2) 学习目标:通过学习,学员...
写完了Interpreter模式之后,我习惯性的看看下一天的安排,却陡然发现GoF的23个设计模式的解析已经在我不经意间写完了。就像在一年前看GoF的《设计模式》一书,和半年前用C++模拟、实现23种经典的设计模式一般,透过...
3.11 Interpreter模式..............................................................................................................100 4 说明..............................................................
0 引言........................................................2 0.1 设计模式解析(总序)....3.11 Interpreter模式........................100 4 说明....................................................105
3.11 Interpreter模式..............................................................................................................148 4 在开发中体验设计模式..............................................
0 引言..............................................................3.11 Interpreter模式........................................ 4 说明....................................................................
3.11 Interpreter模式..............................................................................................................100 4 说明...............................................................
Interpreter(解释器)模式.doc
3.11 Interpreter模式..............................................................................................................100 4 说明 .............................................................