Java設計模式(行爲型)之-解釋器模式(Interpreter)
行爲型模式分類圖:
解釋器模式一般主要應用在OOP開發中的編譯器的開發中,所以適用面比較窄,類圖如下:
Context類是一個上下文環境類,Plus和Minus分別是用來計算的實現,示例代碼如下:
public class ExpressionTest {
public static void main(String[] args) {
// 計算 9+2-8
int result=new Minus().interpret(new Context1(new Plus().interpret(new Context1(9, 2)), 8));
System.out.println(result);
}
}
interface Expression{
public int interpret(Context1 context1);
}
class Context1
{
private int num1;
private int num2;
public Context1(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;
}
}
class Plus implements Expression
{
@Override
public int interpret(Context1 context1) {
int result=context1.getNum1()+context1.getNum2();
return result;
}
}
class Minus implements Expression
{
@Override
public int interpret(Context1 context1) {
int result=context1.getNum1()-context1.getNum2();
return result;
}
}
輸出結果:3