设计模式 |01 策略模式

本贴最后更新于 1935 天前,其中的信息可能已经天翻地覆

开头说几句

博主博客地址: https://www.jeffcc.top/
设计模式系列是我通过看 Head First 的《设计模式》中学到的知识总结,这是本不错的设计模式入门书籍,强烈推荐!

什么是策略模式

权威定义:策略模式定义了算法簇,使不同的行为分别封装起来,让他们可以相互替换,此模式让算法的变化独立于使用算法的对象!
我的理解:将相同的行为共同封装进入超类,不同的行为单独封装,以实现功能!

设计原则

  1. 找到应用中可能需要变化的部分,并且把他们独立起来,通过面向接口的编程方式进行独立划分,不需要和那些不需要变化的代码混合在一起。
  2. 针对接口(超类型)编程,而不是针对实现编程。
  3. 多用组合,少用继承。

模式实例

背景

  1. 需要定义一个鸭子超类,用于显示组合鸭子的共性的行为;
  2. 需要我们定义出一些鸭子的所具有的一些特性:例如飞行和叫声的行为单独接口组合
  3. 实现鸭子的相关正确的行为,(不会出现橡皮鸭会飞等的情况)

代码实现

项目类图

image.png

项目结构

image.png

鸭子的超类
模型鸭类
叫声行为接口
不能飞的实现类
可以飞的实现类
叫声行为接口
不能叫的实现类
哇哇叫的实现类
呱呱叫的实现类
测试类
输出结果:

image.png


END
2019 年 9 月 2 日 19:55:03

  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    200 引用 • 120 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...