行為型模式 11 訪問者模式Visitor

2021-10-01 04:08:13 字數 519 閱讀 2520

訪問者模式俗稱23大設計模式中最難的乙個。除了結構複雜外,理解也比較難。在我們軟體開發中我們可能會對同乙個物件有不同的處理,如果我們都做分別的處理,將會產生災難性的錯誤。對於這種問題,訪問者模式提供了比較好的解決方案。訪問者模式即表示乙個作用於某物件結構中的各元素的操作,它使我們可以在不改變各元素的類的前提下定義作用於這些元素的新操作。

訪問者模式的目的是封裝一些施加於某種資料結構元素之上的操作,一旦這些操作需要修改的話,接受這個操作的資料結構可以保持不變。為不同型別的元素提供多種訪問操作方式,且可以在不修改原有系統的情況下增加新的操作方式。同時我們還需要明確一點那就是訪問者模式是適用於那些資料結構比較穩定的,因為他是將資料的操作與資料結構進行分離了,如果某個系統的資料結構相對穩定,但是操作演算法易於變化的話,就比較適用適用訪問者模式,因為訪問者模式使得演算法操作的增加變得比較簡單了。

訪問者模式包含如下角色:

行為型模式 訪問者模式

在訪問者模式 visitor pattern 中,我們使用了乙個訪問者類,它改變了元素類的執行演算法。通過這種方式,元素的執行演算法可以隨著訪問者改變而改變。這種型別的設計模式屬於行為型模式。根據模式,元素物件已接受訪問者物件,這樣訪問者物件就可以處理元素物件上的操作。主要將資料結構與資料操作分離。...

行為型模式 訪問者模式

在訪問者模式 visitor pattern 中,我們使用了乙個訪問者類,它改變了元素類的執行演算法。通過這種方式,元素的執行演算法可以隨著訪問者改變而改變。這種型別的設計模式屬於行為型模式。根據模式,元素物件已接受訪問者物件,這樣訪問者物件就可以處理元素物件上的操作。意圖 主要將資料結構與資料操作...

行為型模式 訪問者模式

定義 目的時封裝一些施加於某些資料結構元素之上的操作,一但這些操作需要修改,接受這些操作的資料結構則可以保持不變。角色 抽象訪問者 定義cpu和硬碟的訪問 屬性 具體訪問者 實現訪問 硬體型別和執行 抽象元素 定義硬體型號,運轉,訪問 引數 抽象訪問者 具體元素 實現cpu和硬碟的抽象方法 結構物件...