天天看點

C++ 通路者模式簡述模式結構

簡述

通路者模式(Visitor Pattern)表示一個作用于某對象結構中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用于這些元素的新操作。

|

版權聲明:一去、二三裡,未經部落客允許不得轉載。

模式結構

UML 結構圖:

C++ 通路者模式簡述模式結構
  • Vistor(通路者):為對象結構中每一個 ConcreteElement 聲明一個 visit() 操作,從這個操作的名稱或參數類型可以清楚知道需要通路的具體元素的類型。
  • ConcreteVisitor(具體通路者):實作每個由 Visitor 聲明的操作。
  • Element(元素):定義一個 accept() 操作,它通常以一個 Vistor 作為參數。
  • ConcreteElement(具體元素):實作 accept() 操作,通過調用 Visitor 的 visit() 方法來實作對元素的通路。
  • ObjectStructure(對象結構):能夠枚舉它的元素,同時提供一個高層的接口&#

繼續閱讀