天天看小說

第198章

小A:“解釋器模式有什麼優點和缺點?”

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

第93章第120章第118章第27章第140章第104章第124章第119章第90章第101章第72章第85章第186章第209章第157章第228章第28章第73章第70章第185章第201章第20章第168章第11章第89章第86章第84章第194章第165章第217章第190章第208章第204章第112章第65章第147章第213章第188章第57章第155章第223章第81章第209章第124章第110章第41章第126章第177章第166章第46章第100章第79章第43章第180章第12章第116章第73章第203章第109章第53章第187章第166章第156章第10章第84章第214章第212章第227章第157章第37章第36章第81章第48章第34章第25章第85章第201章第218章第7章第140章第161章第99章第25章第68章第22章第100章第119章第61章第76章第85章第149章第76章第43章第180章第206章第83章第202章第84章第59章第79章
第93章第120章第118章第27章第140章第104章第124章第119章第90章第101章第72章第85章第186章第209章第157章第228章第28章第73章第70章第185章第201章第20章第168章第11章第89章第86章第84章第194章第165章第217章第190章第208章第204章第112章第65章第147章第213章第188章第57章第155章第223章第81章第209章第124章第110章第41章第126章第177章第166章第46章第100章第79章第43章第180章第12章第116章第73章第203章第109章第53章第187章第166章第156章第10章第84章第214章第212章第227章第157章第37章第36章第81章第48章第34章第25章第85章第201章第218章第7章第140章第161章第99章第25章第68章第22章第100章第119章第61章第76章第85章第149章第76章第43章第180章第206章第83章第202章第84章第59章第79章
主站蜘蛛池模板: 开阳县| 贵溪市| 东宁县| 论坛| 随州市| 乌什县| 上思县| 广宗县| 滁州市| 萝北县| 汉寿县| 翼城县| 汾西县| 宣化县| 潮州市| 米脂县| 安国市| 英山县| 西吉县| 民丰县| 拜城县| 津南区| 仁寿县| 伽师县| 黄梅县| 阳曲县| 嵩明县| 泽州县| 鹤岗市| 千阳县| 嵊泗县| 旺苍县| 龙井市| 宝坻区| 浦北县| 和政县| 漯河市| 水城县| 宝坻区| 边坝县| 逊克县|