終:直譯器模式
主要應用在OOP開發中的編譯器的開發中,所以適用面比較窄
Context類是一個上下文環境類,Plus和Minus分別是用來計算的實現,程式碼如下:
public interface Expression {
public int interpret(Context context);
}
public class Plus implements Expression {
@Override
public int interpret(Context context) {
return context.getNum1()+context.getNum2();
}
}
public class Minus implements Expression {
@Override
public int interpret(Context context) {
return context.getNum1()-context.getNum2();
}
}
public class Context {
private int num1;
private int num2;
public Context(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
}
//測試
public class Test {
public static void main(String[] args) {
// 計算9+2-8的值
int result = new Minus().interpret((new Context(new Plus()
.interpret(new Context(9, 2)), 8)));
System.out.println(result);
}
}
直譯器模式用來做各種各樣的直譯器,如正規表示式等的直譯器等等!
相關文章
- 直譯器模式模式
- 24_直譯器模式模式
- 設計模式之直譯器模式設計模式
- 設計模式(十五):直譯器模式設計模式
- 直譯器模式(Interpreter)模式
- 設計模式(十五)直譯器設計模式
- 簡說設計模式——直譯器模式設計模式
- 極簡設計模式-直譯器模式設計模式
- Python設計模式-直譯器模式Python設計模式
- JAVA設計模式之直譯器模式Java設計模式
- 設計模式--直譯器模式和狀態模式設計模式
- 23種設計模式之直譯器模式設計模式
- 折騰Java設計模式之直譯器模式Java設計模式
- 20.java設計模式之直譯器模式Java設計模式
- 設計模式——23直譯器模式(Interpreter)設計模式
- 直譯器設計模式知識概括設計模式
- 化繁為簡的翻譯機——直譯器模式模式
- 軟體設計模式系列之十七——直譯器模式設計模式
- 設計模式--直譯器模式Interpreter(行為型)設計模式
- Rust語言之GoF設計模式: 直譯器Interpreter模式RustGo設計模式
- 設計模式的征途—23.直譯器(Interpreter)模式設計模式
- 自定義語言的實現——直譯器模式(五)模式
- 自定義語言的實現——直譯器模式(四)模式
- 自定義語言的實現——直譯器模式(三)模式
- 自定義語言的實現——直譯器模式(二)模式
- PHP設計模式(二十二)—直譯器模式(Interpreter PattPHP設計模式
- Ipython 直譯器Python
- 設計模式 第十章 備忘錄模式、直譯器模式、狀態模式設計模式
- Java設計模式-17、直譯器模式-自定義語言的實現Java設計模式
- 淺談彙編器、編譯器和直譯器編譯
- python直譯器在哪Python
- 設計模式學習筆記(二十二)直譯器模式及其實現設計模式筆記
- 直譯器模式(Interpreter)2——跟著cc學設計系列模式
- 設計模式(二十一)——直譯器模式(Spring 框架中SpelExpressionParser原始碼分析)設計模式Spring框架Express原始碼
- 源語言、目標語言、翻譯器、編譯器、直譯器編譯
- cmd.exe直譯器漏洞
- Python3 直譯器Python
- 直譯器-Java.exe(轉)Java