-
組合優(yōu)于繼承
查看全部 -
定義:
查看全部 -
什么是策略模式:
查看全部 -
目錄:
查看全部 -
策略模式的適用場(chǎng)景查看全部
-
策略模式將可變的部分從程序中抽象分離成算法接口,在該接口下分別封裝一系列算法實(shí)現(xiàn)并使他們可以相互替換,從而導(dǎo)致客戶端程序獨(dú)立于算法的改變。查看全部
-
策略模式 * 優(yōu)點(diǎn) * 1. 使用了組合, 使架構(gòu)更加靈活 * 2. 富有彈性, 可以較好的應(yīng)對(duì)變化(開閉原則) * 3. 更好的代碼復(fù)用性(相對(duì)于繼承) * 4. 消除大量的條件語(yǔ)句, 更好的可讀性, 面向?qū)ο蟮奶匦? 易于維護(hù) * * 缺點(diǎn) * 1. 客戶代碼需要了解每個(gè)策略實(shí)現(xiàn)的細(xì)節(jié) * 2. 增加了對(duì)象的數(shù)量 * * 使用場(chǎng)景 * 1. 許多相關(guān)的類僅僅是行為差異 * 2. 運(yùn)行時(shí)選取不同的算法變體(不同子類鴨子, 每只選一個(gè)飛行方法) * 3. 條件語(yǔ)句if else很多時(shí), 通過(guò)條件語(yǔ)句在多個(gè)分支中選擇一查看全部
-
組合的優(yōu)點(diǎn) 靈活 復(fù)用代碼, 便于維護(hù)查看全部
-
組合composition查看全部
-
多用組合, 少用繼承查看全部
-
抽象方法 靈活 即使是相同的行為, 每個(gè)子類都要override一遍查看全部
-
繼承 粗暴 不靈活查看全部
-
策略模式查看全部
-
策略模式查看全部
-
策略模式就是一個(gè)設(shè)置提供多個(gè)選項(xiàng)給用戶選擇,例如攝像頭尺寸640*480,或者更大。 然后針對(duì)不同的選擇,實(shí)現(xiàn)不同的算法。我認(rèn)為稱之為“方案模式”亦可,提供給用戶不同的方案以供選擇。查看全部
舉報(bào)
0/150
提交
取消