設計模式之-----解釋器模式

今天來學習解釋器模式,關於這個模式,我看完之後還真是找不出什麼例子。。這個模式的主要用途我感覺是在語言的編譯中,在現實項目中應該很少會有這樣的需求,而且我經驗也不多,一時半會真是想不起來怎麼理解這個,恕本人才疏學淺,只能在網上找一些前輩寫的東西先看一看,以後想到更好的例子之後再來改正。

我引用的是java_my_life的一篇博客,寫的不錯,鏈接地址貼給大家,http://www.cnblogs.com/java-my-life/archive/2012/06/19/2552617.html 大家可以看一看

不過上邊的博客沒有寫出優缺點,我就來總結一下

缺點就是,解釋器中每一個文法都定義了至少一個類,所以後期文法十分複雜時,維護量是難以想象的,所以遇到文法十分複雜的時候,要考慮使用編譯生成器等來實現。

優點呢,就是文法很容易去擴展,遵循了設計模式的原則,所以在文法複雜度在一定程度之內時,這個模式還是很方便的,一般系統中很多類使用相似的語法,可以使用一個解釋器來代替爲每一個規則實現一個解釋器。而且在解釋器中不同的規則是由不同的類來實現的,這樣使得添加一個新的語法規則變得簡單。

發佈了78 篇原創文章 · 獲贊 18 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章