訪問者模式是一種物件的行為性模式,用於表示乙個作用於某物件結構中的各元素的操作,它使得使用者可以再不改變各元素的類的前提下定義作用於這些元素的新操作。訪問者模式使得增加新的操作變得很容易,但在一定程度上破壞了封裝性。
優點:1)更容易新增新操作。
2)集中相關操作並且排除不相關操作。
使用場景:
1)物件結構包含許多具有不同介面的物件類,並且向要對這些依賴於具體類的物件進行操作。
2)定義物件結構的類很少被修改,但想要在此結構之上定義新的操作。
visitor 模式
23種設計模式 訪問者模式
在訪問者模式 visitor pattern 中,我們使用了乙個訪問者類,它改變了元素類的執行演算法。通過這種方式,元素的執行演算法可以隨著訪問者改變而改變。這種型別的設計模式屬於行為型模式。根據模式,元素物件已接受訪問者物件,這樣訪問者物件就可以處理元素物件上的操作。意圖 主要將資料結構與資料操作...
23種設計模式(9) 訪問者模式
定義 封裝某些作用於某種資料結構中各元素的操作,它可以在不改變資料結構的前提下定義作用於這些元素的新的操作。型別 行為類模式 類圖 訪問者模式可能是行為類模式中最複雜的一種模式了,但是這不能成為我們不去掌握它的理由。我們首先來看乙個簡單的例子,如下 class a public void metho...
23種設計模式(16) 訪問者模式
定義 封裝某些作用於某種資料結構中各元素的操作,它可以在不改變資料結構的前提下定義作用於這些元素的新的操作。型別 行為類模式 類圖 訪問者模式可能是行為類模式中最複雜的一種模式了,但是這不能成為我們不去掌握它的理由。我們首先來看乙個簡單的例子,如下 class a public void metho...