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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 策略模式和状态模式

發布時間:2024/9/30 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 策略模式和状态模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文是轉載的,轉載地址:大白話解釋Strategy模式和State模式的區別

先上圖:

本質上講,策略模式和狀態模式做得是同一件事:去耦合。怎么去耦合?就是把干什么(語境類)和怎么干(策略接口)分開,互不依賴。打個比方,下面是我一天的行程:

class 我{吃飯(){}逛街(){}啪啪啪(){}睡覺(){} }

但問題來了,啪啪啪是個技術活,有著名的48式,今天到底要用哪一式呢?于是我的代碼變成了這樣:

class 我{吃飯(){}逛街(){}啪啪啪1式(){}啪啪啪2式(){}啪啪啪3式(){}睡覺(){} }

但代碼如果是這樣的,寶寶肯會被老板開掉的。但寶寶發現,啪啪啪的方式其實取決于我的妹子。對三種不同類型的妹子,我的表現是不同的。

class 鬼妹 implements 妹子{愛愛(){print(”Come on!“);} }class 乖妹 implements 妹子{愛愛(){print("I love you!");} }class 萌妹 implements 妹子{愛愛(){print("Ya Mie Die!");} }interface 妹子 {愛愛(); }

而且我驚訝地發現,所有妹子都把啪啪啪叫做”愛愛“。所以只要我只要知道今天晚上是和哪個妹子在一起,根據多態性,我只要說同一句話:”妹子讓我們愛愛吧“。接下來發生的事,我只要閉上眼睛享受就好了。

class 我{吃飯();逛街();啪啪啪(妹子 今晚的妹子){今晚的妹子.愛愛();}睡覺(); }

于是,你懂的:

main(){我 胖胖 = new 我();print("周一:");妹子 娘子 = new 乖妹();胖胖.啪啪啪(娘子);print("周二:");妹子 小三 = new 萌妹();胖胖.啪啪啪(小三); }

//OutPut:
周一:I love you!
周二:Ya Mie Die!

以上的就叫:策略模式!

但后來我發現,其實我做的每一件事都取決我的妹子,我徹底震驚了!我的生活不能沒有妹子!

class 我{吃飯(妹子 今晚的妹子){今晚的妹子.飯飯();}逛街(妹子 今晚的妹子){今晚的妹子.逛逛();}啪啪啪(妹子 今晚的妹子){今晚的妹子.愛愛();}睡覺(妹子 今晚的妹子){今晚的妹子.呼呼();} }

于是終于說出了那句話:嫁給我吧!于是,她徹底走進了我的生活!

class 我{吃飯(){老婆.飯飯();}逛街(){老婆.逛逛();}啪啪啪(){老婆.愛愛();}睡覺(){老婆.呼呼();}//fields妹子 老婆 = new 乖妹子(); }

但你們是懂我的,我的小三怎么辦呢?要是每天都能切換情人就最好了!

class 我{切換情人(妹子 情人){老婆 = 情人;} 吃飯(){老婆.飯飯();}逛街(){老婆.逛逛();}啪啪啪(){老婆.愛愛();}睡覺(){老婆.呼呼();}//fields妹子 老婆 = new 乖妹子(); }

于是每一天都充滿了新鮮感呢!

main(){我 胖胖 = new 我();print("周一:");//老婆胖胖.啪啪啪();print("周二:");妹子 小三 = new 萌妹();胖胖.切換情人(小三);//小三胖胖.啪啪啪(); }

//OutPut:
周一:I love you!
周二:Ya Mie Die!

于是,我都愛上了這種叫”狀態模式“的生活方式。

所以,”策略模式“就好比單身的時候,沒有固定情人,每天用微信出去約泡。”狀態模式“就是結婚以后,有了固定的情人,生活可以在老婆和小三之間游刃有余!

說到這里,大家一定都豁然開朗了吧!那么,祝大家生活幸福!

總結

以上是生活随笔為你收集整理的Java 策略模式和状态模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。