-
組合-查看全部
-
策略模式的適用場(chǎng)景查看全部
-
策略模式的缺點(diǎn)查看全部
-
策略模式的優(yōu)點(diǎn)?。±斫猓夯卣{(diào)其實(shí)就類似于策略模式。。將某個(gè)操作的具體實(shí)現(xiàn)延遲到客戶端查看全部
-
多用組合,少用繼承查看全部
-
策略模式中設(shè)計(jì)原則查看全部
-
策略模式的使用場(chǎng)景查看全部
-
,,看看查看全部
-
策略模式的缺點(diǎn):查看全部
-
策略模式的有優(yōu)點(diǎn)查看全部
-
策略模式的設(shè)計(jì)原則: 是應(yīng)用在千變?nèi)f化中不變其架構(gòu),找出需要變化的部分將他們與不變的代碼獨(dú)立出來(lái)。 面向接口編程,接口為我們提供一個(gè)契約,在總體上規(guī)定了雙方的行為框架,再通過(guò)多態(tài)的特性,用不同的實(shí)現(xiàn)類,展示了世界多樣性。 組合一個(gè)策略對(duì)象,將飛行行為代理給該對(duì)象的實(shí)現(xiàn)。 第三個(gè)原則,即多用組合,少用繼承。 策略模式的實(shí)現(xiàn)要點(diǎn)有四個(gè): (1)。通過(guò)分離變化得出的策略接口Strategy public interface FlyingStrategy{ void performFly(); } (2)。Strategy的實(shí)現(xiàn)類 public class FlyWithWin implements FlyingStrategy{ public void performFly(){ System.out.println("振翅高飛!"); } } public class FlyNoWay implements FlyingStrategy{ public void performFly(){ System.out.println("我不會(huì)飛行!"); } } (3)??蛻舫绦蛑杏幸粋€(gè)Strategy private FlyingStrategy flyingStrategy; public void setFlyingStrategy(FlyingStrategy flyingStrategy){ this.flyingStrategy = flyingStrategy } public void fly(){ flyingStrategy.performFly(); } (4)。在客戶程序中正確的組裝Strategy實(shí)現(xiàn)類 public MallardDuck(){ super(); super.setFlyingStrategy(new FlyWithWin()); } public RubberDuck(){ super(); super.setFlyingStrategy(new FlyWithWin()); }查看全部
-
什么是組合呢?查看全部
-
策略模式的試用場(chǎng)景查看全部
-
策略模式查看全部
-
策略模式查看全部
舉報(bào)
0/150
提交
取消