在訪問者模式(Visitor Pattern)中,我們使用了一個訪問者類,它改變了元素類的執(zhí)行算法。通過這種方式,元素的執(zhí)行算法可以隨著訪問者改變而改變。這種類型的設(shè)計模式屬于行為型模式。根據(jù)模式,元素對象已接受訪問者對象,這樣訪問者對象就可以處理元素對象上的操作。
主要將數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)操作分離。穩(wěn)定的數(shù)據(jù)結(jié)構(gòu)和易變的操作耦合問題。
結(jié)構(gòu)圖
角色與理解
- 訪問者模式共分為五種角色:
- 被訪問者提供訪問入口,使自身的數(shù)據(jù)被訪問者訪問。
核心代碼
- 抽象訪問者
- 具體訪問者
- 抽象元素
- 具體元素
- 對象結(jié)構(gòu)
- 客戶端
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
算法
+關(guān)注
關(guān)注
23文章
4587瀏覽量
92503 -
存儲管理
+關(guān)注
關(guān)注
0文章
31瀏覽量
9161
發(fā)布評論請先 登錄
相關(guān)推薦
基于入侵行為模式的告警關(guān)聯(lián)
本文提出了一種基于入侵行為模式的告警關(guān)聯(lián)方式。入侵行為模式是定義在時間基礎(chǔ)上的一組謂詞公式,其實質(zhì)是通過時間限制聯(lián)系在一起的入侵事件的集合。該方法在對大量告
發(fā)表于 08-13 08:35
?6次下載
上網(wǎng)行為管理新模式
上網(wǎng)行為管理新模式
談起多角色管理劃分,首先讓人想起的是企業(yè)管理架構(gòu)。從管理層面上來講,角色管理劃分非常重要,企業(yè)管理者需要通過“
發(fā)表于 04-09 09:41
?430次閱讀
基于觀察者模式的屏幕布局控件設(shè)計
觀察者模式作為設(shè)計模式中行為模式的一種,解決了上述具有一對多依賴關(guān)系對象重用問題。文中在分析觀察者
發(fā)表于 02-13 16:20
?4次下載
Java設(shè)計模式(二十一):中介者模式
中介者模式(Mediator Pattern) 中介者模式(Mediator Pattern): 屬于對象的行為
發(fā)表于 01-24 11:28
?294次閱讀
嵌入式軟件設(shè)計模式 好文值得收藏
本文引用自本人公眾號文章: 嵌入式開發(fā)中的兩點編程思想 ? C語言也很講究設(shè)計模式?一文講透 ? 包含如下: 01)C語言和設(shè)計模式(繼承、封裝、多態(tài)) ? 02)C語言和設(shè)計模式(訪問者
GoF設(shè)計模式之訪問者模式
訪問者模式的目的是,解耦數(shù)據(jù)結(jié)構(gòu)和算法,使得系統(tǒng)能夠在不改變現(xiàn)有代碼結(jié)構(gòu)的基礎(chǔ)上,為對象新增一種新的操作。
設(shè)計模式:訪問者設(shè)計模式
訪問者設(shè)計模式是一種行為型設(shè)計模式,用于將算法與對象結(jié)構(gòu)分離。它允許你在不改變對象結(jié)構(gòu)的前提下定義新的操作。
設(shè)計模式行為型:觀察者模式
定義對象之間的一種一對多依賴關(guān)系,使得每一個對象發(fā)生狀態(tài)的變化時,其相關(guān)依賴對象皆得到通知并被自動更新,又稱為發(fā)布-訂閱模式、模型-視圖模式、源-監(jiān)聽器模式或從屬者
UVM設(shè)計模式之訪問者模式
Visitor Pattern: 允許一個或者多個操作應用到一組對象上,解耦操作和對象本身。換言之,如果component的數(shù)據(jù)結(jié)構(gòu)是比較穩(wěn)定的,但其是易于變化的,那么使用訪問者模式是個不錯的選擇。
評論