2018-01-29 设计模式-策略模式

Strategy:找出变化的部分独立出来进行封装,对象行为型模式。

策略模式定义了算法簇,分别封装起来,让他们相互可以替换,可以使算法的变化独立与算法的客户。

OO基础:抽象 封装 多态 继承

OO设计原则:

1.找出应用中可能变化的部分独立出来,不要和那些不需要变化的代码混在一起。

2.针对接口编程,不是针对实现编程。

3.尽量用组合,少用继承。


Duck例子:

public abstract class Duck {

  FlyBehavior flyBehavior;//为行为接口类型声明应用变量

  public void display();

  public void performFly(){ //委托行为类

     flyBehavior.fly();

  }

  public void setFlyBehavior(){}// 设定鸭子的行为类

}


public interface FlyBehavior{ //行为类接口

  public void fly();

}


public class FlyWithWings(){//实现具体的行为

  public void fly(){

   system.out.println("");

   }

}


public class MallardDuck extend Duck{ //具体鸭子类

public MallardDuck(){

  flyBehavior = new FlyWithWings();

}

}

你可能感兴趣的:(2018-01-29 设计模式-策略模式)