定義:表示一介作用於某個物件結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用於這些元素的新操作。
結構圖:
示例**:
public inte***ce vistor
public class concretevisitor1 implements vistor
@override
public void vistorconcreteelementb(concreteelementb concreteelementb)
}public class concretevistor2 implements vistor
@override
public void vistorconcreteelementb(concreteelementb concreteelementb)
}public abstract class element
public class concreteelementa extends element
public void operationa()
}public class concreteelementb extends element
public void operationb()
}public class objectstructure
public void detach(element element)
public void accept(vistor vistor)
}}
客戶端**如下:public class client
}
輸出結果:
strategy.vistor.concreteelementa strategy.vistor.concretevisitor1
strategy.vistor.concreteelementb strategy.vistor.concretevisitor1
strategy.vistor.concreteelementa strategy.vistor.concretevistor2
strategy.vistor.concreteelementbstrategy.vistor.concretevistor2
設計模式之訪問者模式
先看一下下面這段 class person public string getaction public void setaction string action public void getconclusion else if action exciting else if action gri...
設計模式之訪問者模式
我們去銀行櫃檯辦業務,一般情況下會開幾個個人業務櫃檯的,你去其中任何乙個櫃檯辦理都是可以的。我們的訪問者模式可以很好付諸在這個場景中 對於銀行櫃檯來說,他們是不用變化的,就是說今天和明天提供個人業務的櫃檯是不需要有變化的。而我們作為訪問者,今天來銀行可能是取消費流水,明天來銀行可能是去辦理手機銀行業...
設計模式之訪問者模式
定義 表示乙個作用於某物件結構中的各元素的操作,它使得使用者可以再不改變各元素的累的前提下定義作用於這些元素的新操作,它是一種物件行為模式。類圖 說明 抽象訪問者visitor是乙個抽象訪問者,宣告訪問者可以訪問哪些元素 具體訪問者concretevisitor就是指訪問者訪問到乙個類後要做什麼事情...