訪問者模式

2022-07-31 09:36:11 字數 509 閱讀 6091

訪問者模式:對於系統中的某些物件,它們儲存在同乙個集合中,且具有不同的型別,而且對於該集合中的物件,可以接受一類稱為訪問者的物件來訪訪問,而且不同的訪問者其訪問方式也是不同的。

其作用與某物件結構中的各元素的操作,在不改變各元素的前提下定義作用於這些元素的新操作。

訪問者角色:抽象元素、具體元素、抽象訪問者、具體訪問者

優點:在不改變乙個集合中元素的類的情況下,增加新的施加於該元素上的新操作

可以將集合中各個元素的某些操作集中到訪問者中,不僅便於集合的維護,也有利於集合中元素的復用

缺點:增加新的元素類很困難

破壞封裝

違反了依賴倒置原則,依賴了具體類,沒有依賴抽象

情景:乙個物件結構中,比如某個集合中,包含很多物件,想對集合中的物件增加一些新的操作

需要對集合中的物件進行很多不同的並且不相關的操作,而我們又不想修改物件的類

訪問者模式

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

訪問者模式

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

訪問者模式

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