多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 策略模式,我與你的三次相遇。

策略模式,我與你的三次相遇。

來源:程序員人生   發布時間:2014-10-10 08:00:00 閱讀次數:2503次

         從商場打折到機房重構計算固定用戶和臨時用戶的消費情況,再到現在的Duck,三次接觸類策略模式,可見這是一個比較重要的模式.

        在使用策略模式之前,首先要知道什么是策略模式?策略模式是干嗎用的?策略模式有它的好處也必定存在一定的缺陷.

 

    策略模式:

           它定義了算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓算法的變化獨立于使用算法的客戶.

 

   策略模式其實就是用來封裝算法的。當不同的行為堆砌在一個類中,就很難避免使用條件語句來選擇合適的行為。我們就可以用策略模式,將這些行為封裝在一個個獨立的Strategy類中,就可以消除這些類中的條件語句了。

 

商場打折:

商場收銀時,不管理打折還是返利,都是一些算法,我們把這些算法是可變的,我們把這些變化的封裝起來,也實現了面向對象的思維方式。


機房重構:

    做機房收費系統時,我們對臨時用戶和固定用戶的收費方式是不一樣的,但是他們的本質是一樣的,都是計算學生的消費金額,這是我們就把它寫成策略模式,把兩種不同的算法封裝起來。


Duck:

     這次又用java語言重新認識了一下策略模式,鴨子繼承Duck,飛行行為實現FlyBehavior接口,呱呱叫的行為實現QuackBehavior接口。其實鴨子的行為就可以看成算法,萬變不離其宗,意思是一樣的,封裝了鴨子的行為相當于我們封裝了算法。


優點:

    策略模式不僅提供了管理各種算法的辦法,簡化了單元測試,我們可以通過每個類自己的接口單獨測試;避免了我們使用多重條件轉移語句;繼承有助于吸取出這些算法中的公共功能。


每一種模式都要他存在的優勢,不然也不會存在。當然,缺點也是必不可少,人無完人,模式也沒有十分完美的模式。

 

缺點:

    策略模式只適用于客戶端知道所有的算法或行為的情況。而且策略模式會造成很多策略類,每一個具體策略類又會產生一個新類。


        策略模式使用了三次了,第一次用C#,第二次用VB.net,第三次用java。每一次用,感覺都不一樣,你問我有什么不一樣的。當然是越來越熟悉的感覺了,嘿嘿。

----------------------------------------------------------------------------------------------------------------------------(^_^)     學習是一個循序漸進,反反復復的過程       (^_^)




生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: a久久久久一级毛片护士免费 | 免费视频中文字幕 | 欧美视频福利 | 一级女人毛片 | 亚洲人成网站在线观看播放 | 欧美成人午夜片一一在线观看 | 国产精品久久久久久久久久一区 | 中国精品视频 | 麻豆19禁国产青草精品 | 一级欧美在线的视频 | 国产女人的一级毛片视频 | 亚洲日韩天堂 | 国产成人永久免费视频 | 99久久久国产精品免费牛牛四川 | 激情图片小说区 | 日韩精品视频一区二区三区 | 亚洲精品一区二区三区不卡 | 欧美日韩大尺码免费专区 | 91av片| 亚洲最大色网站 | 久久亚洲精品无码观看不卡 | 国产一级淫片a视频免费观看 | 久久精品国产精品2020 | 自拍自偷| 亚洲图片天堂 | 国产福利视频一区二区三区四区 | 波多野结衣视频免费在线观看 | 国产观看精品一区二区三区 | 久久精品在线视频 | 亚洲一片 | 亚洲品质自拍视频网站 | 亚洲欧美精品一区天堂久久 | 一二三区视频 | 91亚洲精品一区二区自 | 99爱视频99爱在线观看免费 | 精品福利在线 | 在线观看成年人免费视频 | 4438x成人网最大色成网站 | 91成人免费福利网站在线 | 久久久夜 | 日本aa大片在线播放免费看 |