欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

java設計模式:策略模式

系統 1995 0

策略模式

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

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

?


java設計模式:策略模式
?

?

?

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

java設計模式:策略模式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久这里只有精品99 | 亚洲综合色在线 | 好叼视频| 日韩精品第一页 | 成人免费激情视频 | 狠狠操狠狠操狠狠操 | 久久综合九色综合欧洲色 | 国产九九精品视频 | 亚洲欧美国产视频 | 美女性视频网站 | 亚洲综合久久久久久888 | 4hc44四虎www在线影院男同 | 91看片在线免费观看 | 奇米影视首页 | 天天做天天爱天天大综合 | 亚洲 欧美 综合 | 午夜小视频在线播放 | 亚洲欧美国产日本 | 男人的天堂在线视频 | 天天艹夜夜 | 久久久久久综合一区中文字幕 | 色综合久久久久综合99 | 国产精品外围在线观看 | 欧美日韩第二页 | 亚洲国产一区二区视频 | 99在线这精品视频 | 韩国日本在线 | 久久久久久99精品 | 亚洲精品视 | 日本精品人妻无码免费大全 | 曰批全过程40分钟免费视频多人 | 欧美日韩一区二区三区在线观看 | 亚洲第一男人天堂 | 日本毛片爽看免费视频 | 波多野结衣办公室在线观看 | 日本欧美一区二区三区视频麻豆 | 国产gav成人免费播放视频 | 日本高清色片 | 久久久久久久国产精品影院 | yy4138理论片在线大全 | 精品乱码 |