全本小說網->吳強作品集->大話設計模式
上一頁返回書目下一頁
大話設計模式第198章
全本小說網www.qb5200.com加入收藏小A:“解釋器模式有什麼優點和缺點?”
大B:“解釋器模式有下列的優點和不足:1、易於改變和擴展文法因為該模式使用類來表示文法規則,你可使用繼承來改變或擴展該文法。已有的表達式可被增量式地改變,而新的表達式可定義為舊表達式的變體。2、也易於實現文法定義抽象語法樹中各個節點的類的實現大體類似。這些類易於直接編寫,通常它們也可用一個編譯器或語法分析程序生成器自動生成。3、複雜的文法難以維護解釋器模式為文法中的每一條規則至少定義了一個類(使用BNF定義的文法規則需要更多的類)。因此包含許多規則的文法可能難以管理和維護。可應用其他的設計模式來緩解這一問題。但當文法非常複雜時,其他的技術如語法分析程序或編譯器生成器更為合適。4、增加了新的解釋表達式的方式解釋器模式使得實現新表達式‘計算’變得容易。例如:你可以在表達式類上定義一個新的操作以支持優美打印或表達式的類型檢查。如果你經常創建新的解釋表達式的方式,那麼可以考慮使用Visitor模式以避免修改這些代表文法的類。”上一頁返回目錄下一頁
(本章完)