-
策略模式的缺点:查看全部
-
策略模式的有优点查看全部
-
策略模式的设计原则: 是应用在千变万化中不变其架构,找出需要变化的部分将他们与不变的代码独立出来。 面向接口编程,接口为我们提供一个契约,在总体上规定了双方的行为框架,再通过多态的特性,用不同的实现类,展示了世界多样性。 组合一个策略对象,将飞行行为代理给该对象的实现。 第三个原则,即多用组合,少用继承。 策略模式的实现要点有四个: (1)。通过分离变化得出的策略接口Strategy public interface FlyingStrategy{ void performFly(); } (2)。Strategy的实现类 public class FlyWithWin implements FlyingStrategy{ public void performFly(){ System.out.println("振翅高飞!"); } } public class FlyNoWay implements FlyingStrategy{ public void performFly(){ System.out.println("我不会飞行!"); } } (3)。客户程序中有一个Strategy private FlyingStrategy flyingStrategy; public void setFlyingStrategy(FlyingStrategy flyingStrategy){ this.flyingStrategy = flyingStrategy } public void fly(){ flyingStrategy.performFly(); } (4)。在客户程序中正确的组装Strategy实现类 public MallardDuck(){ super(); super.setFlyingStrategy(new FlyWithWin()); } public RubberDuck(){ super(); super.setFlyingStrategy(new FlyWithWin()); }查看全部
-
什么是组合呢?查看全部
-
组合的定义
查看全部 -
组合优点 灵活 缺点 必须要实现接口查看全部
-
多用组合少用继承。查看全部
-
继承简单粗暴,但不够灵活查看全部
-
策略模式的试用场景查看全部
-
策略模式查看全部
-
策略模式的使用场景
1、许多相关的类仅仅是行为行为差异
2、运行时选取不同的算法变体
3、通过条件语句在多个分支中选取其一(if(){}else{}.....)
查看全部 -
策略模式缺点
1、客户代码需要了解每个策略实现的细节
2、增加了对象的数目
查看全部 -
策略模式的有点
1、使用了组合,使架构更加灵活
2、富有弹性,可以较好的应对变化(开一闭原则)
3、更好的代码复用性(相对于继承)
4、消除大量的条件语句
查看全部 -
1、将不变的行为分离出来抽象为一个接口,将具体的行为交由实现去完成
2、面向接口,而不是面向实现编程
3、多用组合,少用继承
查看全部 -
在长期的开发当中如何稳定框架的不变,这就需要找到应用中需要变化的部分,把他们独立出来,不要和那些不需要变化的代码混在一起
查看全部
举报
0/150
提交
取消