設計模式中訪問者模式的意圖是:
表示一個作用于某對象結構中的各元素的操作,使得在不改變各元素的類的前提下定義作用于這些元素的新操作。
舉個例子,比如說有個游客想去幾個景點,去每個景點都想按統一的流程。但是每個景點都有各自不同的展示和流程,不可能單獨為了這個游客改。這個游客就自己設定一套流程,每個景點對接,這樣景點就不用修改了。
Visitor:抽象訪問者,為對象結構類中每一個ConcreteElement的類聲明一個Visit操作。
ConcreteVisitor:具體訪問者,實現每個由Visitor聲明的操作
Element:元素,定義一個Accept操作,它以一個訪問者為參數
ObjectStructure:對象結構類