訪問者:表示乙個作用於某物件結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用於這些元素的新操作。
當需要改變其中一項業務的處理時,不需要每個地方都進行修改,而只需要改動visitor類中相應的處理函式就可以了。也就是說它適合於業務處理時常發生變動的情況。
當然,visitor也有它自身的限制。它不適合於業務數量的經常變化,因為一旦新增或刪除一些service時,需要對visitor進行相應的增刪。
也就是說具體service與visitor是耦合的
它實際上是將visitor為主體轉為了service為主體
這個中的例子相對簡單易懂
設計模式之訪問者模式
先看一下下面這段 class person public string getaction public void setaction string action public void getconclusion else if action exciting else if action gri...
設計模式之訪問者模式
我們去銀行櫃檯辦業務,一般情況下會開幾個個人業務櫃檯的,你去其中任何乙個櫃檯辦理都是可以的。我們的訪問者模式可以很好付諸在這個場景中 對於銀行櫃檯來說,他們是不用變化的,就是說今天和明天提供個人業務的櫃檯是不需要有變化的。而我們作為訪問者,今天來銀行可能是取消費流水,明天來銀行可能是去辦理手機銀行業...
設計模式之訪問者模式
定義 表示一介作用於某個物件結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用於這些元素的新操作。結構圖 示例 public inte ce vistor public class concretevisitor1 implements vistor override public ...