設計模式之訪問者模式

2021-09-30 17:24:13 字數 954 閱讀 5554

小明長大了,他決定去找找多年未見的兩個好朋友小剛和小強。還記得當年大家一起組建了幫派,小剛能寫文,小強能打架,三人在一起賽過諸葛亮。而如今大家天各一方,也不知道都混得怎麼樣。

小明這麼多年社會上摸爬滾打深諳「天下熙熙,皆為利來。天下攘攘,皆為利往之理」,決定先聊聊探測一下這倆兄弟有沒有錢。有錢和沒錢處理方式當然不一樣了。有錢了要多多交往,沒錢就少來往。萬一他生個病借我錢怎麼辦?

這段邏輯就用到了訪問者模式,訪問者小明根據小剛和小強型別不同執行了不同的方法。下來看看具體的**。

首先是訪問者的介面,訪問者就兩個方法乙個針對的是窮人,另乙個是富人

public inte***ce ivisitor
甭管窮人富人咱表面上至少是朋友嘛,既然是朋友來了肯定要接待拜訪者嘛~有個朋友介面,裡面就乙個允許訪問者訪問的方法。

public inte***ce ifriend
窮人是朋友,有被訪問的方法

public class poorman implements ifriend 

public poorman(string name)

public void accept(ivisitor visitor)

}

富人也是朋友,也有被訪問的方法。不過跟窮人的不一樣

public class richman implements ifriend 

public richman(string name)

public void accept(ivisitor visitor)

}

最後看看場景

public class client 

}

執行結果:

小強這個人沒錢以後一定要少交往

小剛這個哥們有錢問問他大腿缺掛墜不

設計模式之訪問者模式

先看一下下面這段 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 ...