行為型設計模式.解釋器模式

一执虹、概念

1.1捕透、定義

定義了一個解釋器丝格,來解釋給定語言和文法的句子撑瞧。其實質是把語言中的每個符號定義成一個(對象)類,從而把每個程序轉換成一個具體的對象樹显蝌。


82C492DE-4309-4073-A622-97B87AE98641.png
  • AbstractExpression预伺,抽象表達式類:核心類,主要定了解析器的解析方法入口曼尊。
  • Terminal Expression酬诀,終結符表達式類:如其名,代表了文法中的終結符骆撇。
  • Nonterminal Expression瞒御,非終結符表達式類:文法中其他非終結符的所有字符
  • Context,環(huán)境類:一般神郊,存儲各個解釋器需要的共同數(shù)據(jù)或是公共的功能肴裙。
1.2、解決的問題
  • 解決問題:針對需要解析一些固定文法的涌乳,需要構建一個解釋句子的解釋器蜻懦。
  • 模式解決思路:將文法劃分為 終結符表達式類 和 非終結符表達式類,然后通過Context來管理解析過程的上下文環(huán)境夕晓。

二宛乃、模式的應用和優(yōu)缺點

2.1、應用場景
  • 實例:編譯器蒸辆、運算表達式計算征炼。
  • 實例:有一定文法規(guī)則文本解析,例如公交車卡的讀卡器程序吁朦。
2.2柒室、優(yōu)缺點
  • 優(yōu)點:

    • 易于實現(xiàn)渡贾,且解析語言場景下擴張性好逗宜。
  • 缺點:

    • 效率差:模式中通常使用大量的循環(huán)和遞歸調用,當要解釋的句子較復雜時空骚,其運行速度很慢纺讲。還有代碼的調試過程很麻煩,很痛苦囤屹。
    • 應用場景很少熬甚,正如其名,解析器模式基本用語編程語言的解析中肋坚。

其他

解釋器模式(詳解版)

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末乡括,一起剝皮案震驚了整個濱河市肃廓,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诲泌,老刑警劉巖盲赊,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異敷扫,居然都是意外死亡哀蘑,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門葵第,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绘迁,“玉大人,你說我怎么就攤上這事卒密∽禾ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵哮奇,是天一觀的道長将硝。 經(jīng)常有香客問我,道長屏镊,這世上最難降的妖魔是什么依疼? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮而芥,結果婚禮上律罢,老公的妹妹穿的比我還像新娘。我一直安慰自己棍丐,他們只是感情好误辑,可當我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著歌逢,像睡著了一般巾钉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上秘案,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天砰苍,我揣著相機與錄音,去河邊找鬼阱高。 笑死赚导,一個胖子當著我的面吹牛,可吹牛的內容都是我干的赤惊。 我是一名探鬼主播吼旧,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼未舟!你這毒婦竟也來了圈暗?” 一聲冷哼從身側響起掂为,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎员串,沒想到半個月后菩掏,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡昵济,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年智绸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片访忿。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡瞧栗,死狀恐怖,靈堂內的尸體忽然破棺而出海铆,到底是詐尸還是另有隱情迹恐,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布卧斟,位于F島的核電站殴边,受9級特大地震影響,放射性物質發(fā)生泄漏珍语。R本人自食惡果不足惜锤岸,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望板乙。 院中可真熱鬧是偷,春花似錦、人聲如沸募逞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽放接。三九已至刺啦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間纠脾,已是汗流浹背玛瘸。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留乳乌,地道東北人捧韵。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓市咆,卻偏偏與公主長得像汉操,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蒙兰,可洞房花燭夜當晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內容