java 23種常用設計模式之解析器模式(Interpreter)
阿新 • • 發佈:2019-02-19
直譯器的的適用範圍比較小,一般主要用在各種OPP開發的直譯器中,比如正則表示式的直譯器,或者一個數學表示式的直譯器。
下面我們就以解釋數學表示式為例子,講講什麼是直譯器模式。
原始碼:
這就是一個簡單的直譯器模式例子,大家可以練習copy一個減法直譯器出來。由於比較簡單,這裡就不累贅了!package com.freedom.interpreter; public class Context { private int a; private int b; public Context(int a, int b){ this.a = a; this.b = b; } public int getA() { return a; } public void setA(int a) { this.a = a; } public int getB() { return b; } public void setB(int b) { this.b = b; } } package com.freedom.interpreter; public interface Expression { public int interpret(Context context); } package com.freedom.interpreter; public class Plus implements Expression { @Override public int interpret(Context context) { return context.getA()+context.getB(); } } package com.freedom.interpreter; public class Test { public static void main(String[] args) { int resultPlus = new Plus().interpret(new Context(3, 5)); System.out.println(resultPlus); } }
最近要連上13天班,是在是夾縫裡擠出來的時間繼續寫了……