最新回答 / 新的紀元
策略模式主要是凸顯組合方式比繼承方式具有的優點,你分的三種策略應該是都要進行判斷的,不像視屏中講解的車子的輪胎只需要實現輪胎接口的一種輪胎實現類或是一種鴨子只需要實現飛行策略接口的一種飛行實現類。你的這種其實可以使用責任鏈模式,雖然與責任鏈關系不大,甚至最簡單的實現方式就用if()else(),三種情況用||連接。
2020-03-10
最贊回答 / Yow
簡單來說,模板方法模式就是英語考試的完形填空題(自己考慮填什么詞、句子),策略模式就是信息匹配題(提前寫好選擇項,當你有多個填空時,直接選就好了,沒有適合的就再多寫幾個選擇項)。
2018-08-20
最贊回答 / Adeaven
我也是初學者,我的思路是這樣的:第一步:既然不同鴨子有不同的“叫法”,無論是“嘎嘎”,還是“噶~”或是“不會叫”,都可以抽象為:GaWay(叫法)的一個接口第二步:再創建多個子接口:GaWay1(叫法:gaga)、GaWay2(叫法:噶~)、以及NoGaWay(叫法:不會叫)第三步:創建大黃鴨,調用子接口:NOGaWay(),就可以實現大黃鴨不會叫的代碼了這是我的實現思路
2016-04-13