設計模式之直譯器模式

2021-09-10 01:10:43 字數 1120 閱讀 4824

簡單的寫了例子,首先是直譯器介面,然後是兩個實現直譯器的類,再設計乙個需要解釋的類,最後是客戶端主類。

直譯器介面:

package com.freshbin.pattern.interpreter.myexample;

/** * 直譯器介面

* * @author freshbin

* @date 2023年1月19日 下午3:30:12

*/public inte***ce expressioninte***ce

直譯器類:

package com.freshbin.pattern.interpreter.myexample;

public class expressiona implements expressioninte***ce

}

package com.freshbin.pattern.interpreter.myexample;

public class expressionb implements expressioninte***ce

}

需要解釋的類:

package com.freshbin.pattern.interpreter.myexample;

/** * 需要解釋的資訊

* * @author freshbin

* @date 2023年1月19日 下午3:29:43

*/public class context

客戶端主類

package com.freshbin.pattern.interpreter.myexample;

/** * 直譯器模式

* * @author freshbin

* @date 2023年1月19日 下午3:29:01

*/public class interpreterpatterndemo

}

效果:

設計模式之直譯器模式

直譯器模式是一種類行為型模式,它主要是用來解釋特定語言的特定文法表示,雖然這個在實際生產中不常用到,但是我們學習一下還是有幫助的。定義 給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。使用場景 當有乙個語言需要解釋執行,並且你可將該語言中的句子表示為乙...

設計模式之直譯器模式

直譯器模式 1.直譯器模式 給定乙個語言,定義它文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子。如果一種特定型別的問題發生的頻率足夠高,那麼可能就值得將該問題的各個例項表述為乙個簡單語言中的句子。這樣就可以構建乙個直譯器,該直譯器通過解釋這些句子來解決該問題。比如 在字串中...

設計模式之直譯器模式

解析器模式是一種行為型設計模式。其思想是 給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,該直譯器使用該表示來解釋語言中的句子。解析器模式涉及4個角色 結構圖 於網路 下面提供乙個簡單例子。乙個簡易的控制台計算器,要求使用者輸入乙個表示式,如a b c,然後要求使用者輸入每個變數的具體值,如...