[color=red][b]visitor(訪問者模式)[/b][/color]
訪問者
package com.dzeay.pattern.visitor;
public inte***ce visitor
具體訪問者
package com.dzeay.pattern.visitor;
public class concretevisitor implements visitor
@override
public void visitorconcreteelementb(concreteelementb concreteelementb)
}
元素,定義乙個accept操作,該操作以乙個訪問者為引數
package com.dzeay.pattern.visitor;
public inte***ce element
具體元素,實現accept操作
package com.dzeay.pattern.visitor;
public class concreteelementa implements element
}
package com.dzeay.pattern.visitor;
public class concreteelementb implements element
}
visitor -- 測試類
package com.dzeay.pattern.visitor;
/***
* visitor(訪問者模式)詳解:
* 表示作用於某物件結構中的各元素的操作.它可以使得你在不改變和元素的類的前提下定義作用於這些元素的新操作.
*
* * @author dzeay.com
* @since 2011-02-26
* @version 1.0
*/public class testclass
}設計模式之visitor(訪問者模式)
設計模式之訪問者模式(visitor)
在訪問者模式 visitor pattern 中,我們使用了乙個訪問者類,它改變了元素類的執行演算法。通過這種方式,元素的執行演算法可以隨著訪問者改變而改變。這種型別的設計模式屬於行為型模式。根據模式,元素物件已接受訪問者物件,這樣訪問者物件就可以處理元素物件上的操作。優點 1 符合單一職責原則。2...
訪問者設計模式Visitor
各個元件可對訪問者暴露自己的細節 訪問者拿著細節去做不同的事情,這些事情是和元件本身可能並無緊密關聯的 將資料結構和資料操作分離 資料結構和資料操作耦合的問題 訪問者模式的應用場景一般需要具備兩個條件 相對穩定的被訪問者,如資料結構 工具 元件等,自身具備足夠的屬性和基礎能力 相對靈活可變 不確定的...
設計模式 訪問者模式 Visitor
visitor模式表示乙個作用於某物件結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用於這些元素的新操作。類圖 乙個物件結構包含很多類物件,它們有不同的介面,而你想對這些物件實施一些依賴於其具體類的操作。需要對乙個物件結構中的物件進行很多不同的並且不相關的操作,而你想避免讓這些操作...