解釋器模式的標(biāo)準(zhǔn)定義
給定一個(gè)語(yǔ)言暂刘,定義它的一種表示捅伤,并定義一個(gè)解釋器宛瞄,該解釋器使用該表示來(lái)解釋語(yǔ)言中的句子突颊。(ps:剛看的時(shí)候偎痛,基本不明白啥意思...)
解釋器模式的使用場(chǎng)景
1)如果某個(gè)簡(jiǎn)單的語(yǔ)言需要解釋執(zhí)行而且可以講語(yǔ)言中的語(yǔ)句表示為一個(gè)抽象語(yǔ)法樹(shù)時(shí)啊犬,可以考慮使用解釋器模式
2)在某些特定的領(lǐng)域出現(xiàn)不斷重復(fù)的問(wèn)題時(shí)俊扳,可以將該領(lǐng)域的問(wèn)題轉(zhuǎn)化為一種語(yǔ)法規(guī)則下的語(yǔ)句菊值,然后構(gòu)建解釋器來(lái)解釋該語(yǔ)句覆糟。
(由于該模式很少用刻剥,目前我在多年項(xiàng)目開(kāi)發(fā)中,就沒(méi)有使用過(guò)這個(gè)模式滩字,所以代碼示例什么的就不過(guò)多的記錄了造虏,需要的小伙伴可以在網(wǎng)上找找)
解釋器模式的小結(jié)
解釋器模式的原理和本質(zhì):將復(fù)雜的問(wèn)題簡(jiǎn)單化御吞、模塊化,分離實(shí)現(xiàn)漓藕、解釋執(zhí)行陶珠。
優(yōu)點(diǎn)
靈活的擴(kuò)展性
(ps:貌似到目前看到的9個(gè)設(shè)計(jì)模式,擴(kuò)展性都是靈活的享钞,目前看來(lái)設(shè)計(jì)模式基本都是在6大原則上發(fā)展出來(lái)的)
缺點(diǎn)
首先:它基本只是使用簡(jiǎn)單的文法揍诽,復(fù)雜的文法不推薦使用它,就這一點(diǎn)基本大家都使用不到這個(gè)設(shè)計(jì)模式了栗竖。
其次:就是它的每一條文法都至少對(duì)應(yīng)一個(gè)解釋器暑脆,這樣一來(lái),大家懂得狐肢,必然會(huì)產(chǎn)生打臉的類添吗,這就導(dǎo)致后期維護(hù)的困難。
個(gè)人覺(jué)得這個(gè)設(shè)計(jì)模式只要知道有它处坪,心中有數(shù)就行根资,后臺(tái)和前端的開(kāi)發(fā)實(shí)際基本都用不到。