化繁為簡的翻譯機——解釋器模式

解釋器模式的標準定義

給定一個語言,定義它的一種表示,并定義一個解釋器,該解釋器使用該表示來解釋語言中的句子。(ps:剛看的時候,基本不明白啥意思...)

解釋器模式的使用場景

1)如果某個簡單的語言需要解釋執行而且可以講語言中的語句表示為一個抽象語法樹時,可以考慮使用解釋器模式
2)在某些特定的領域出現不斷重復的問題時,可以將該領域的問題轉化為一種語法規則下的語句,然后構建解釋器來解釋該語句。
(由于該模式很少用,目前我在多年項目開發中,就沒有使用過這個模式,所以代碼示例什么的就不過多的記錄了,需要的小伙伴可以在網上找找)

解釋器模式的小結

解釋器模式的原理和本質:將復雜的問題簡單化、模塊化,分離實現、解釋執行。

優點

靈活的擴展性
(ps:貌似到目前看到的9個設計模式,擴展性都是靈活的,目前看來設計模式基本都是在6大原則上發展出來的)

缺點

首先:它基本只是使用簡單的文法,復雜的文法不推薦使用它,就這一點基本大家都使用不到這個設計模式了。
其次:就是它的每一條文法都至少對應一個解釋器,這樣一來,大家懂得,必然會產生打臉的類,這就導致后期維護的困難。
個人覺得這個設計模式只要知道有它,心中有數就行,后臺和前端的開發實際基本都用不到。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容