visitor模式概念------------------- visitor模式進(jìn)一步
visitor模式理論及學(xué)術(shù)概念------------------- visitor模式進(jìn)一步
一,訪問者模式的角色:
抽象訪問者:聲明一個(gè)或者多個(gè)訪問操作,形成所有的具體元素都要實(shí)現(xiàn)的接口
具體訪問者:實(shí)現(xiàn)抽象訪問者所聲明的接口
抽象節(jié)點(diǎn):聲明一個(gè)接受操作,接受一個(gè)訪問者對(duì)象作為參量
具體節(jié)點(diǎn):實(shí)現(xiàn)了抽象元素所規(guī)定的接受操作
結(jié)構(gòu)對(duì)象:遍歷結(jié)構(gòu)中的所有元素,類似List Set等
二,在什么情況下應(yīng)當(dāng)使用訪問者模式
訪問者模式應(yīng)該用在被訪問類結(jié)構(gòu)比較穩(wěn)定的時(shí)候,換言之系統(tǒng)很少出現(xiàn)增加新節(jié)點(diǎn)的
情況。因?yàn)樵L問者模式對(duì)開-閉原則的支持并不好,訪問者模式允許在節(jié)點(diǎn)中加入方法,
是傾斜的開閉原則,類似抽象工廠。
三,訪問者模式的缺點(diǎn):
1,增加節(jié)點(diǎn)困難
2,破壞了封裝
因?yàn)樵L問者模式的缺點(diǎn)和復(fù)雜性,很多設(shè)計(jì)師反對(duì)使用訪問者模式。個(gè)人感覺應(yīng)該在了解的
情況下考慮衡量選擇。
最后的部分:
看完本文,如果你對(duì)visitor模式有更多的興趣,想了解更多請(qǐng)看如下幾篇文章。
1,靜態(tài)分派,動(dòng)態(tài)分派,多分派,單分派 -------------- visitor模式準(zhǔn)備
2,訪問差異類型的集合類 ------------------------ visitor模式入門
3,visitor模式理論及學(xué)術(shù)概念------------------- visitor模式進(jìn)一步(本文)
4,重載overloading和覆寫overriding哪個(gè)更早執(zhí)行-- visitor幫助篇
雖然排列順序是1,2,3,4 但是我個(gè)人建議的學(xué)習(xí)方式是2,1,3,4因?yàn)檫@個(gè)順序更方便一般人理解
posted on 2006-12-20 01:26 dreamstone 閱讀(4608) 評(píng)論(0) 編輯 收藏 所屬分類: 設(shè)計(jì)模式