visitor模式理論及學術概念------------------- visitor模式進一步
一,訪問者模式的角色:
抽象訪問者:聲明一個或者多個訪問操作,形成所有的具體元素都要實現的接口
具體訪問者:實現抽象訪問者所聲明的接口
抽象節點:聲明一個接受操作,接受一個訪問者對象作為參量
具體節點:實現了抽象元素所規定的接受操作
結構對象:遍歷結構中的所有元素,類似List Set等
二,在什么情況下應當使用訪問者模式
訪問者模式應該用在被訪問類結構比較穩定的時候,換言之系統很少出現增加新節點的
情況。因為訪問者模式對開-閉原則的支持并不好,訪問者模式允許在節點中加入方法,
是傾斜的開閉原則,類似抽象工廠。
三,訪問者模式的缺點:
1,增加節點困難
2,破壞了封裝
因為訪問者模式的缺點和復雜性,很多設計師反對使用訪問者模式。個人感覺應該在了解的
情況下考慮衡量選擇。
最后的部分:
看完本文,如果你對visitor模式有更多的興趣,想了解更多請看如下幾篇文章。
1,靜態分派,動態分派,多分派,單分派 -------------- visitor模式準備
2,訪問差異類型的集合類 ------------------------ visitor模式入門
3,visitor模式理論及學術概念------------------- visitor模式進一步(本文)
4,重載overloading和覆寫overriding哪個更早執行-- visitor幫助篇
雖然排列順序是1,2,3,4 但是我個人建議的學習方式是2,1,3,4因為這個順序更方便一般人理解