訪問者模式

2021-06-16 05:06:10 字數 383 閱讀 2418

1. 意圖:資料結構和對資料結構操作的解耦。

特點:資料結構是穩定的,操作是變化的。

2 角色:

(1)抽象訪問者:宣告對所有元素訪問的介面;

(2)具體訪問者:

(3)抽象節點:宣告接收訪問者(抽象)為引數的

(4)具體節點

(5)物件結構:乙個例項的字段,或者使用聚集實現。

注意的問題,適用性

(1)     存在乙個結構(節點的集合),整體部分的關係,visitor訪問的目的是遍歷節點。

(2)     雙重分派,要是能舉出乙個雙重分派的例子就好了。

要修改操作方式(換一種方式訪問結構),就需要修改structure的方法;想把對資料結構的訪問移到資料結構之外,

3 例子

訪問者模式

訪問者模式 visitor pattern 訪問者模式是物件的行為模式。訪問者模式的目的是封裝一些施加於某種資料結構元素之上的操作。一旦這些操作需要修改的話,接受這個操作的資料結構則可以保持不變。一 問題 集合是大多數的系統都要處理的一種容器物件,它儲存了對其它物件的引用。一般情況下,在集合上採取的...

訪問者模式

行為模式中的訪問者模式 訪問者模式是物件的行為模式。訪問者模式的目的是封裝一些施加於某種資料結構元素之上的操作,一旦這些操作需要修改的話,接受這個操作的資料結構則可以保持不變。動機 類層次結構中可能經常由於引入新的操作,從而將型別變得脆弱。在軟體構建過程中,由於需求的改變,某些類層次結構中常常需要增...

訪問者模式

1.說明 namespace visitorspattern 象棋類 public abstract class chess public class redchess chess public class blackchess chess 在贏的情況下的狀態 public class win ac...