訪問者
訪問者模式的產生:類結構相對穩定,但是基於類的行爲變化較大。
訪問者模式的例子:這一部分參考 簡書作者:JamFF 的文章 訪問者模式一篇就夠了。
這裏員工是穩定的類結構,公司一年一度生成所有員工的報表。不同的高層會以變化的方式來訪問員工,比如CEO看Engineer的代碼行和Manager的產品數量,但是CTO只看兩者的KPI。
高層的Visitor需要提供多個訪問不同員工 Staff(Element)的方法;而對被訪問的員工Staff(Element),則只需要提供一個accept方法接受來自高層的訪問。
訪問者模式的優點:
- 訪問者模式最大的優點就是增加訪問者非常容易。
- 使得數據結構和作用於結構上的操作解耦,使得操作集合可以獨立變化。