日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《大话》之 策略模式 Vs 状态模式

發(fā)布時間:2024/10/12 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《大话》之 策略模式 Vs 状态模式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.簡介:

策略模式:

背景:商店要打折銷售,各種版本的銷售方式,讓小菜心煩意亂

內(nèi)容: ? ?定義算法家族,分別封裝起來,讓他們之間可以戶型替換,此模式讓算法的變化,不會影響到使用算法的用戶。

圖文并茂:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ??

有圖可以簡單明了地知道,這是一種方法選擇模式,具體的策略類封裝了具體的算法(行為),繼承了策略類; 那有一個簡單的書上的例子,當商店遇到節(jié)日搞活動的時候,會采取不同的銷售方式來擴大銷售量,有 買一送一、買五送三等方式,可是,具體采用什 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?么方式只有老板知道,編程序的不知道啊,所以,我們把自己能想到的 促銷方式都各個封裝起來,等到節(jié)日來臨的時候,讓老板決定用哪一種,然后我們就選 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?取那一種。也就是說,所有的方式都準備好了,就等你來隨機挑一種。

狀態(tài)模式:

背景: 小菜老加班,給自己的工作時間段定義當時自己的身心狀態(tài)

內(nèi)容: 當一個對象的內(nèi)在狀態(tài)改變時允許改變其行為,這個對象看起來就像是改變了其類。

圖文并茂:


同樣,從圖中,我們可以看到,這是一種選擇 對應類,每一個子類實現(xiàn)一個與具體狀態(tài)相關(guān)的行為 我們單從圖上其實看不出什么,結(jié)合一下當時的情景:(上午值班-精力充沛;中午值班-餓困交加;下午值班-狀態(tài)不錯;晚上加班-疲累至極;) 現(xiàn)在再看圖,不難看出,這是把各個階段也就是所有的狀態(tài)分別封裝起來,然后呢,在具體的時間段有具體的行為具體的狀態(tài),也就是用具體的時間,去 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 對應當時唯一的狀態(tài),然后實現(xiàn)了Context的一個特定狀態(tài)相關(guān)的行為。

二.對比

策略模式:

我們的策略模式是眾里挑一,從許多種選擇中選擇出適合自己的,隨便主人高興

狀態(tài)模式:

狀態(tài)模式是有了具體的條件去眾多選擇中找與自己本身對應的那一個,是有條件要求的

三.小結(jié):

整體觀察策略模式與狀態(tài)模式,其實他們都是一種選擇模式,他們的區(qū)別(我自己認為)也就是那對條件的要求。 這個也已經(jīng)在上面陳述,當然還有其他的不同的觀點,但是這樣對比著學習,總結(jié),會使我們的記憶理解的更加深刻。

轉(zhuǎn)載于:https://www.cnblogs.com/DoubleEggs/p/5747211.html

總結(jié)

以上是生活随笔為你收集整理的《大话》之 策略模式 Vs 状态模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。