設計模式之訪問者模式

2021-06-26 03:10:49 字數 1222 閱讀 7624

定義:表示一介作用於某個物件結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用於這些元素的新操作。

結構圖:

示例**:

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就是指訪問者訪問到乙個類後要做什麼事情...