美文网首页
设计模式之策略模式

设计模式之策略模式

作者: 秒赞不是偶然 | 来源:发表于2016-07-05 22:54 被阅读37次

使用模式最好的方式是:“把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用他们。”,以往是代码复用,现在是经验复用。

1设计一个鸭子类,这个类首先具有一些功能,比如呱呱叫 游泳等行为。

作为OO程序员,首先想到的这很简单,设计一个超类,同时父类具有一些功能,子类继承下来就会有应有的行为。

2 突然加一个需求,比如又一种鸭子具有额外的功能,比如会飞的天鹅,如果在父类加会飞的行为,很明显这种程序设计,是不合理的。那该怎么办呢?

先渗透几个知识点:

1 在软件开发中,是什么让你深信不疑的?

   那就是“change”;

设计原则:

   找出应用中可能需要变化之处,把它们独立起来,不要和那些不需要变化的代码混在一起。

现在开始把鸭子的行为从父类取出来。

我们希望 设计的类具有弹性,

设计的第二个原则:针对接口编程,而不是针对实现编程。也就是针对超类型编程。

我们抽象 会飞的行为,呱呱叫的行为 等 协议。

让不同种鸭子类实现对应的行为协议编程。

最后, 就是有一个可能比 是一个更好 , 多用组合 少用继承。

相关文章

  • PHP设计模式之策略模式

    PHP设计模式之策略模式

  • PHP设计模式之策略模式

    PHP设计模式之策略模式

  • 简说设计模式之策略模式

    前言:对于设计模式基础概念可以去看[简说设计模式之设计模式概述] 一、什么是策略模式 策略(Strategy)模式...

  • 策略模式

    参考资料:漫话:如何给女朋友解释什么是策略模式? 设计模式之策略模式(实例+Demo) Java设计模式(8)——...

  • 学习Head First设计模式Day1

    Java设计模式之设计模式 策略模式:策略模式定义了算法簇,分别封装起来,让他们之间可以互相替换,此设计模式让算法...

  • 策略模式 2018-11-04

    设计模式之策略模式 官方说明设计模式的3个角色: 环境角色:context , 持有一个策略的引用 抽象策略角色,...

  • Java设计模式——策略模式

    Java设计模式之策略模式 这期分享的模式是策略模式是程序设计中最常用的了,因为开发工作中总是会使用到策略模式。 ...

  • 策略模式

    本文参考自: 《JAVA设计模式》之策略模式(Strategy) 1. 作用 策略模式属于对象的行为模式。其用意是...

  • 设计模式(Swift) - 单例模式、备忘录模式和策略模式

    设计模式(Swift) - 单例模式、备忘录模式和策略模式 设计模式(Swift) - 单例模式、备忘录模式和策略模式

  • 设计模式之策略模式总结

    再上一篇文章《设计模式之策略模式》中,我们通过模拟鸭子项目,了解了什么是策略模式,怎么使用策略模式。本文将通过鸭子...

网友评论

      本文标题:设计模式之策略模式

      本文链接:https://www.haomeiwen.com/subject/rrxkjttx.html