訪問者模式

2021-08-17 05:14:49 字數 671 閱讀 1671

一、背景

相信大家都吃過魚,有的喜歡將其清蒸,有的喜歡將其煎炸,有的習慣將其燉煮。魚不會應其烹飪方法而改變。同樣在系統中如果要針對某一資料結構操作,如果資料結構因對其的操作而改變,想想都會覺得很麻煩,然而訪問者模式正是應對這種場景。

二、概念

訪問者模式:表示作用於某物件結構各元素的操作,它使你在不改變各元素類的前提下定義作用於這些元素的新操作。

三、**例項

/**

* 被訪問者介面

*/inte***ce subject

class mysubject implements subject

@override

public subject getsubject()

}/**

* 訪問者介面

*/inte***ce visitor

class myvisitor implements visitor

}class hisvisitor implements visitor

}/**

* 訪問者模式適用於資料介面不變

* 但是在其資料結構上的行為經常發生變化的情形 解決了資料結構與在其上操作的耦合問題

*/public class visitorpatterndemo

}

訪問者模式

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

訪問者模式

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

訪問者模式

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