訪問者模式
定義:
表示一個作用與某對象結構中的各元素的操作。它使你可以在不改變各元素的類的前提下 定義作用於這些元素的新操作。
什麼時候使用呢:
1、一個對象結構包含很多類對象,它們有不同的接口。你想這些對象實施一些依賴於具體類的操作。
2、要擴展新功能,添加目前尚未考慮到的方法。
3、對象結構的類很少改變,但又經常 需要在此結構上定義新的操作時。改變對象結構類要修改接口,代價高。
訪問者模式的目的
就是要把處理從數據結構分離出來。 這樣的話有比較穩定的數據結構,又易於變化的算法的話,使用訪問者模式就是比較合適,因爲訪問者模式 使得算法操作的增加變得容易。
訪問者模式的優點:
1.符合單一職責原則。
2.擴展性良好。
3.又易於系統的管理和維護。
4.就是增加新的操作很容易。 因爲增加新的此操作就意味着增加一個新的訪問者。訪問者模式將有關的行爲集中到一個訪問者對象中。
訪問者模式的缺點:
就是使增加新的數據結構變得困難了。