天天看點

【HeadFirst 設計模式學習筆記】 20 解釋者(Interpreter)模式拾零

1.概述

這個模式是在不能叫做模式,它的作用是實作一種語言規範的解釋器,比如羅馬數字解釋器。

2.執行個體

我們在這建立一個決策器。通過建構有兩種語言,OR和AND,可以想象為一個機關,上司給出一些決策意見,比如誰或者誰提拔,誰和誰提拔等(這裡面有嵌套),然後存入這個決策器中。主程式通過輸入幾個人名的組合得出一個是不是可能這些人被提拔的決策。

首先,我們對決策器中的語言進行一個抽象:

裡面提供了一個對決策器中語句進行解釋的接口。

然後,我們對參與提拔的輸入進行建構:

随後對兩個表達式進行解釋

現在我們就可以建構一個決策,然後試一試這個決策器的作用了:

繼續閱讀