黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

java設(shè)計模式:策略模式

系統(tǒng) 2280 0

策略模式

如果一個員工系統(tǒng)中,員工被分為臨時工和正式工并且在不同的地方相應(yīng)的行為不一樣。在設(shè)計它們的時候,你肯定設(shè)計一個抽象的員工類,并且設(shè)計兩個繼承類:臨時工和正式工。這樣,通過下塑類型,可以在不同的地方表現(xiàn)出臨時工和正式工的各自行為。在另一個系統(tǒng)中,員工被分為了銷售人員、技術(shù)人員、管理人員并且也在不同的地方相應(yīng)的行為不一樣。同樣,我們在設(shè)計時也是設(shè)計一個抽象的員工類,并且設(shè)計數(shù)個繼承類:銷售人員、技術(shù)人員、管理人員。現(xiàn)在,我們要把這兩個系統(tǒng)合并起來,也就是說,在新的系統(tǒng)中,員工既被分為臨時工和正式工,又被分為了銷售人員、技術(shù)人員、管理人員,這時候如何設(shè)計。如果我們還是使用以往的設(shè)計,我們將不得不設(shè)計很多繼承類:銷售臨時工、銷售正式工、技術(shù)臨時工、技術(shù)正式工...如此的設(shè)計,在隨著劃分的類型,以及每種類型的選項的增多,呈笛卡爾增長。通過以上一個系統(tǒng)的設(shè)計,我們不得不發(fā)現(xiàn),我們以往學(xué)習(xí)的關(guān)于繼承的設(shè)計遇到了挑戰(zhàn)。

解決繼承出現(xiàn)的問題,有一個最好的辦法,就是采用策略模式。在這個應(yīng)用中,員工之所以要分為臨時工和正式工,無非是因為它們的一些行為不一樣,比如,發(fā)工資時的計算方式不同。如果我們在設(shè)計時不將員工類分為臨時工類和正式工類,而僅僅只有員工類,只是在類中增加“工資發(fā)放策略”。當我們創(chuàng)建員工對象時,根據(jù)員工的類型,將“工資發(fā)放策略”設(shè)定為“臨時工策略”或“正式工策略”,在計算工資時,只需要調(diào)用策略類中的“計算工資”方法,其行為的表現(xiàn),也設(shè)計臨時工類和正式工類是一樣的。同樣的設(shè)計可以放到銷售人員策略、技術(shù)人員策略、管理人員策略中。一個通常的設(shè)計是,我們將某一個影響更大的、或者選項更少的屬性設(shè)計成繼承類,而將其它屬性設(shè)計成策略類,就可以很好的解決以上問題。

?


java設(shè)計模式:策略模式
?

?

?

使用策略模式,你同樣把代碼寫活了,因為你可以無限制地增加策略。但是,使用策略模式你同樣需要設(shè)計一個工廠——策略工廠。以上實例中,你需要設(shè)計一個發(fā)放工資策略工廠,并且在工廠中將“臨時工”與“臨時工策略”對應(yīng)起來,將“正式工”與“正式工策略”對應(yīng)起來

java設(shè)計模式:策略模式


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論