2008/11/19

訪問者模式


訪問者模式是一種將演算法與對象結構分離的軟體設計模式

這個模式的基本想法如下:首先我們擁有一個由許多對象構成的對象結構,這些對象的都擁有一個accept方法用來接受訪問者對象;訪問者是一個介面,它擁有一個visit方法,這個方法對訪問到的對象結構中不同類型的元素作出不同的反應;在對象結構的一次訪問過程中,我們遍歷整個對象結構,對每一個元素都實施accept方法,在每一個元素的accept方法中回調訪問者的visit方法,從而使訪問者得以處理對象結構的每一個元素。我們可以針對對象結構設計不同的實在的訪問者類來完成不同的操作。

訪問者模式使得我們可以在傳統的單分派語言(如SmalltalkJavaC++)中模擬雙分派技術。對於支持多分派的語言(如CLOS),訪問者模式已經內置於語言特性之中了,從而不再重要。

----------------------------------------------------------------------------------
來源: http://www.cnblogs.com/webabcd/archive/2007/05/27/761540.html

樂在其中設計模式(C#) -訪問者模式(Visitor Pattern)

沒有留言:

張貼留言