无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

設(shè)計模式:解釋器模式

2022-05-12 10:26 作者:做架構(gòu)師不做框架師  | 我要投稿

什么是解釋器模式

解釋器模式(Interpreter Pattern),它指定如何評估語言中的句子?;舅枷胧怯脤iT的計算機語言為每個符號(終端或非終端)創(chuàng)建一個類。

語言中句子的句法樹是解釋器模式的一個實例,用于為客戶評估(解釋)句子。

一句話歸納

實現(xiàn)特定語言解析

示例

我們每一個人都會從一個小孩子長成一個大人,在小的時候都會去幼兒園去學(xué)習(xí),大家都會背過加法口訣等各種各樣的方便記憶的口訣,1+1=2、1+2=3……

在1+1=2中,加號代表是非終結(jié)表達式,代表一種規(guī)則;等于號代表是終結(jié)表達式,解釋器模式通常只有一個終結(jié)符表達式,但有多個實例,對應(yīng)不同的終結(jié)符。

代碼如下:

適用性

以下場景我建議你考慮使用

  • 可以將一個需要解釋執(zhí)行的語言中的句子表示為一個抽象語法樹

  • 一些重復(fù)出現(xiàn)的問題可以用一種簡單的語言來表達

  • 一個簡單語法需要解釋的場景

局限性

以下場景我建議你謹慎使用

  • 執(zhí)行效率較低。解釋器模式中通常使用大量的循環(huán)和遞歸調(diào)用,當(dāng)要解釋的句子較復(fù)雜時,其運行速度很慢,且調(diào)試過程也比較麻煩。

  • 會引起類膨脹。解釋器模式中的每條規(guī)則至少需要定義一個類,當(dāng)包含的規(guī)則很多時,類的個數(shù)將急劇增加,導(dǎo)致系統(tǒng)難以管理與維護

寫在最后

好兄弟可以點贊并關(guān)注我的公眾號“javaAnswer”,全部都是干貨。


設(shè)計模式:解釋器模式的評論 (共 條)

分享到微博請遵守國家法律
留坝县| 和林格尔县| 曲周县| 孟连| 盐城市| 碌曲县| 夹江县| 绥棱县| 温宿县| 肃北| 红原县| 辉南县| 宣汉县| 锡林浩特市| 崇信县| 昆明市| 五河县| 关岭| 台安县| 九江市| 怀安县| 宝丰县| 宁乡县| 潼关县| 英山县| 绥阳县| 综艺| 南城县| 南陵县| 钦州市| 邢台县| 沾化县| 浦北县| 忻城县| 渝北区| 泸水县| 昌都县| 白朗县| 安岳县| 德庆县| 清丰县|