《大话》之 策略模式 Vs 状态模式
生活随笔
收集整理的這篇文章主要介紹了
《大话》之 策略模式 Vs 状态模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.簡介:
策略模式:
背景:商店要打折銷售,各種版本的銷售方式,讓小菜心煩意亂
內容: ? ?定義算法家族,分別封裝起來,讓他們之間可以戶型替換,此模式讓算法的變化,不會影響到使用算法的用戶。
圖文并茂:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ??
有圖可以簡單明了地知道,這是一種方法選擇模式,具體的策略類封裝了具體的算法(行為),繼承了策略類; 那有一個簡單的書上的例子,當商店遇到節日搞活動的時候,會采取不同的銷售方式來擴大銷售量,有 買一送一、買五送三等方式,可是,具體采用什 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?么方式只有老板知道,編程序的不知道啊,所以,我們把自己能想到的 促銷方式都各個封裝起來,等到節日來臨的時候,讓老板決定用哪一種,然后我們就選 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?取那一種。也就是說,所有的方式都準備好了,就等你來隨機挑一種。狀態模式:
背景: 小菜老加班,給自己的工作時間段定義當時自己的身心狀態
內容: 當一個對象的內在狀態改變時允許改變其行為,這個對象看起來就像是改變了其類。
圖文并茂:
同樣,從圖中,我們可以看到,這是一種選擇 對應類,每一個子類實現一個與具體狀態相關的行為 我們單從圖上其實看不出什么,結合一下當時的情景:(上午值班-精力充沛;中午值班-餓困交加;下午值班-狀態不錯;晚上加班-疲累至極;) 現在再看圖,不難看出,這是把各個階段也就是所有的狀態分別封裝起來,然后呢,在具體的時間段有具體的行為具體的狀態,也就是用具體的時間,去 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 對應當時唯一的狀態,然后實現了Context的一個特定狀態相關的行為。
二.對比
策略模式:
我們的策略模式是眾里挑一,從許多種選擇中選擇出適合自己的,隨便主人高興狀態模式:
狀態模式是有了具體的條件去眾多選擇中找與自己本身對應的那一個,是有條件要求的三.小結:
整體觀察策略模式與狀態模式,其實他們都是一種選擇模式,他們的區別(我自己認為)也就是那對條件的要求。 這個也已經在上面陳述,當然還有其他的不同的觀點,但是這樣對比著學習,總結,會使我們的記憶理解的更加深刻。轉載于:https://www.cnblogs.com/DoubleEggs/p/5747211.html
總結
以上是生活随笔為你收集整理的《大话》之 策略模式 Vs 状态模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 传央行闭门会议将出台两项举措 等同降准1
- 下一篇: 开宠物店需要具备哪些条件 业内人士的肺