解釋器模式(Interpreter):它定義了對象與對象之間進行某種操作之后會得到什么值。一般主要應用在OOP開發中的編譯器的開發中,所以適用面比較窄。
##一、uml建模:

##二、代碼實現
~~~
/**
* 解釋器模式(Interpreter):它定義了對象與對象之間進行某種操作之后會得到什么值。
*
* 一般主要應用在OOP開發中的編譯器的開發中,所以適用面比較窄。
*
* 示例:先定義一個實體類,封裝兩個變量num1、num2
*/
class Entity {
private double num1;
private double num2;
public Entity(double num1, double num2) {
this.num1 = num1;
this.num2 = num2;
}
public double getNum1() {
return num1;
}
public void setNum1(double num1) {
this.num1 = num1;
}
public double getNum2() {
return num2;
}
public void setNum2(double num2) {
this.num2 = num2;
}
}
/**
* 運算接口
*/
interface Operatable {
public double interpreter(Entity entity);
}
/**
* 加法運算
*/
class AddOperation implements Operatable {
@Override
public double interpreter(Entity entity) {
return entity.getNum1() + entity.getNum2();
}
}
/**
* 減法運算
*/
class MinusOperation implements Operatable {
@Override
public double interpreter(Entity entity) {
return entity.getNum1() - entity.getNum2();
}
}
/**
* 客戶端測試類
*
* @author Leo
*/
public class Test {
public static void main(String[] args) {
/**
* 創建加法、減法運算
*/
AddOperation addOperation = new AddOperation();
MinusOperation minusOperation = new MinusOperation();
/**
* 一、分步運算
*/
double addResult = addOperation.interpreter(new Entity(20, 30));
double minusResult = minusOperation.interpreter(new Entity(20, 30));
System.out.println("addResult = " + addResult);
System.out.println("minusResult = " + minusResult);
/**
* 二、混合運算
*/
double mixResult = new AddOperation().interpreter(new Entity(
addOperation.interpreter(new Entity(20, 30)), minusOperation
.interpreter(new Entity(40, 50))));
System.out.println("mixResult = " + mixResult);
}
}
~~~
##三、總結
解釋器模式用來做各種各樣的解釋器,如正則表達式的解釋器等等。
- 前言
- (一)策略模式建模與實現
- (二)觀察者模式建模與實現
- (三)裝飾者模式建模與實現
- (四)工廠方法模式建模與實現
- (五)抽象工廠模式建模與實現
- (六)單例模式建模與實現
- (七)命令模式建模與實現
- (八)適配器模式建模與實現
- (九)外觀模式建模與實現
- (十)模板方法模式建模與實現
- (十一)迭代器模式建模與實現
- (十二)組合模式建模與實現
- (十三)狀態模式建模與實現
- (十四)代理模式建模與實現
- (十五)建造者模式建模與實現
- (十六)原型模式建模與實現
- (十七)橋接模式建模與實現
- (十八)責任鏈模式建模與實現
- (十九)備忘錄模式建模與實現
- (二十)解釋器模式建模與實現
- (二十一)享元模式建模與實現
- (二十二)中介者模式建模與實現
- (二十三)訪問者模式建模與實現
- Java設計模式博客全目錄