終:直譯器模式
主要應用在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);
}
}
直譯器模式用來做各種各樣的直譯器,如正規表示式等的直譯器等等!
相關文章
- 直譯器模式(Interpreter)模式
- 24_直譯器模式模式
- 設計模式之直譯器模式設計模式
- 設計模式(十五)直譯器設計模式
- 極簡設計模式-直譯器模式設計模式
- 簡說設計模式——直譯器模式設計模式
- 設計模式--直譯器模式和狀態模式設計模式
- 23種設計模式之直譯器模式設計模式
- 20.java設計模式之直譯器模式Java設計模式
- 折騰Java設計模式之直譯器模式Java設計模式
- 直譯器設計模式知識概括設計模式
- 化繁為簡的翻譯機——直譯器模式模式
- 軟體設計模式系列之十七——直譯器模式設計模式
- Rust語言之GoF設計模式: 直譯器Interpreter模式RustGo設計模式
- PHP設計模式(二十二)—直譯器模式(Interpreter PattPHP設計模式
- Ipython 直譯器Python
- 設計模式 第十章 備忘錄模式、直譯器模式、狀態模式設計模式
- python直譯器在哪Python
- Java設計模式-17、直譯器模式-自定義語言的實現Java設計模式
- 設計模式學習筆記(二十二)直譯器模式及其實現設計模式筆記
- 設計模式(二十一)——直譯器模式(Spring 框架中SpelExpressionParser原始碼分析)設計模式Spring框架Express原始碼
- 淺談彙編器、編譯器和直譯器編譯
- Python3 直譯器Python
- VScode和python直譯器VSCodePython
- Python直譯器和IPythonPython
- 源語言、目標語言、翻譯器、編譯器、直譯器編譯
- Python直譯器有幾種Python
- cmd.exe直譯器漏洞
- python直譯器的安裝Python
- 什麼是Python全域性直譯器鎖(GIL)?全域性直譯器鎖的好處!Python
- Python與全域性直譯器鎖Python
- Python直譯器分類有哪些?Python
- Python GIL(全域性直譯器鎖)Python
- Python 新提案:“廢除”全域性直譯器鎖 GIL | CPython 直譯器或許會變得更快Python
- 用java寫一個lisp 直譯器JavaLisp
- 深入 WebAssembly 之直譯器實現篇Web
- Shell總結01-Shell直譯器
- 實現JavaScript語言直譯器(三)JavaScript
- 動手試試ClassLoader,直譯器,JIT