Visitor(訪問者模式)

2021-05-26 06:57:35 字數 513 閱讀 2170

名  稱 

visitor(訪問者模式) 

意  圖 

表示乙個作用於某物件結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用於這些元素的新操作。 

適  用 

環  境 

u       乙個物件結構包含很多類物件,它們有不同的介面,而你想對這些物件實施一些依賴於其具體類的操作。 

u       需要對乙個物件結構中的物件進行很多不同的並且不相關的操作,而你想避免讓這些操作「汙染」這些物件的類。vi s i t o r 使得你可以將相關的操作集中起來定義在乙個類中。當該物件結構被很多應用共享時,用vi s i t o r 模式讓每個應用僅包含需要用到的操作。 

u       定義物件結構的類很少改變,但經常需要在此結構上定義新的操作。改變物件結構類需要重定義對所有訪問者的介面,這可能需要很大的代價。如果物件結構類經常改變,那麼可能還是在這些類中定義這些操作較好。 

結  構 

協  作 

關  系 

示例**:

訪問者模式(Visitor)

訪問者模式 visitor 表示乙個作用於某物件結構中的各元素的操作。他使你可以在不改變各元素的類的前提下定義作用於這些元素的新操作。訪問者模式適用於資料結構相對穩定的系統。他把資料結構和作用於結構上的操作之間的耦合解脫開,使得操作集合可以相對自由地演化。訪問者模式的目的是要把處理從資料結構分離出來...

訪問者模式 Visitor

訪問者模式 visitor 首先看一下男人與女人不同狀態下反應的實現 結構圖 狀態的抽象類和人的抽象類 abstract class action abstract class person 在這裡關鍵在於人只分為男人與女人,分類穩定 具體狀態類 成功 class success action 時,...

訪問者模式(Visitor)

訪問者模式 visitor 意圖 表示乙個作用於某物件結構中的各元素的操作,它使你在不改變各元素的類的前提下定義作用於這些元素的新操作。應用 作用於編譯器語法樹的語義分析演算法。模式結構 心得 訪問者模式是要解決對物件新增新的操作和功能時候,如何盡可能不修改物件的類的一種方法。一般為物件新增功能,是...