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();

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,329评论 19 139
  • 设计模式 开题先说明一下,设计模式告诉我们如何组织类和对象以解决某种问题。让代码变得更加优雅是我们责无旁贷的任务 ...
    tanghuailong阅读 3,214评论 0 2
  • 客户需求 程序设计 1、直接利用继承如何? 将以上四种行为全部写到Duck这个基类中,然后子类重写飞和叫的行为。但...
    BlainPeng阅读 3,304评论 2 7
  • 你若自身不努力,机会摆在你眼前都抓不住。 从过年开始就一直浑浑噩噩,思想上不上进,行动方面更是不用说,懒散到史无前...
    xinweihuang阅读 2,578评论 0 0
  • 夲圣阅读 1,222评论 1 1