解釋器模式是咱們暫時的最後一講,通常主要應用在OOP開發中的編譯器的開發中,因此適用面比較窄。java
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); } }
最後輸出正確的結果:3。ide
基本就這樣,解釋器模式用來作各類各樣的解釋器,如正則表達式等的解釋器等等!this
資源:http://download.csdn.net/detail/zhangerqing/4835830.net
原文連接:http://blog.csdn.net/zhangerqingcode