解释器设计模式
2019獨角獸企業重金招聘Python工程師標準>>>
1、解釋器模式是類的行為模式
- 給定一個語言之后,解釋器模式可以定義出其文法的一種表示,并同時提供一個解釋器
- 客戶端可以使用這個解釋器來解釋這個語言中的句子
解釋器模式的結構
- 抽象表達式角色
- 一個Constant對象代表一個布爾常量
- 一個Variable對象代表一個有名變量
- 代表邏輯“與”操作的And類
- 客戶端代碼
- 結果
2、解釋器模式的適用場景
- 有一個簡單的語法規則,比如一個sql語句,如果我們需要根據sql語句進行rm轉換,就可以使用解釋器模式來對語句進行解釋
- 一些重復發生的問題,比如加減乘除四則運算,但是公式每次都不同,有時是a+b-c*d,有時是a*b+c-d,等等等等
- 公式千變萬化,但是都是由加減乘除四個非終結符來連接的,這時我們就可以使用解釋器模式
3、注意事項
- 解釋器模式真的是一個比較少用的模式,因為對它的維護實在是太麻煩了
- 想象一下,一坨一坨的非終結符解釋器,假如不是事先對文法的規則了如指掌,或者是文法特別簡單,則很難讀懂它的邏輯
- 解釋器模式在實際的系統開發中使用的很少,因為他會引起效率、性能以及維護等問題
轉載于:https://my.oschina.net/u/3847203/blog/1839545
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: CentOS7 Python3安装red
- 下一篇: xcode项目集成CocoaPods