訪問者模式

2021-09-08 06:33:48 字數 430 閱讀 2019

1.訪問者模式,有兩個主體,乙個是訪問者,乙個是被訪問者

2.一般來說,這兩個的聯絡太緊密,直接和在一起就可以了,為什麼要分開。

3.因為,對於被訪問者來說,它比較固定,不會改變,所以抽出來,乾淨利落。而訪問者可以拓展,可以被繼承。

4.訪問者的visit方法的引數是被訪問者,被訪問者的accept方法的引數是訪問者

5.有乙個容器來收納被訪問者者,提供新增被訪問者和獲取被訪問者的方法

舉個例子:

訪問者:果農,山林管理員

被訪問者:果樹,梨樹

容器:山

這座山只適合種果樹和梨樹,山上可以繼續種樹,也可以通過山知道樹。

果樹和梨樹可以被果農和管理員摘果子

果農和管理員可以找到果樹和梨樹

對於資料比較穩定不會變的,可以抽象成這三個物件,訪問者,被訪問者,儲存被訪問者的容器

訪問者模式

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

訪問者模式

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

訪問者模式

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