本文同步更新於blog
訪問者模式會將類別分為兩類:
分別是訪問者類別 (Visitor)與元素類別 (Element)。
讓原本屬於元素的行為,變成訪問者類別 (Visitor)。
根據傳入元素的不同,會有對應的行為,緊耦合於元素類別 (Element)。
優點:
將操作從元素類別抽離,使其能獨立變化。
容易新增/修改訪問者類別。
缺點:
難以增加新的元素。
破壞了原本元素的封裝。
會使程式碼複雜度提高。
[組合模式]:
訪問者模式可能會使用到組合模式的技巧。
[迭代器模式]:
訪問者模式可能會使用到迭代器模式的技巧。
ʕ •ᴥ•ʔ:訪問者模式改變了原本的主從關係。