1、策略模式定义

策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于算法的客户。

2、类图

3、实例

abstract class Duck
{IFly ifly;public void Fly(){ifly.Fly();}
}
interface IFly
{void Fly();
}
class FlyWithWings : IFly
{public void Fly(){Console.WriteLine(“Fling with wings.”)}
}
Class FlyWithRocket()
{public void Fly(){Console.WriteLine(“Fling with rocket.”)}
}class Duck1 : Duck
{public Duck1(){ifly=new FlyWithRocket();}
}

转载于:https://www.cnblogs.com/Lonfee/archive/2011/05/05/2037523.html

一、策略模式(Strategy Pattern)相关推荐

  1. 8.6 GOF设计模式四: 策略模式… Strategy Pattern

    策略模式- Strategy Pattern  在POS系统中,有时需要实行价格优惠, 该如何处理?  对普通客户或新客户报全价  对老客户统一折扣5%  对大客户统一折扣10%  注:课件 ...

  2. 解读设计模式----策略模式(Strategy Pattern)

    一.模式概述      策略模式(Strategy Pattern)在外形上与状态模式很相似,但在意图上有些不同.其意图是使这些算法可以相互替换,并提供一种方法来选择最合适的算法.       在我应 ...

  3. 二十四种设计模式:策略模式(Strategy Pattern)

    策略模式(Strategy Pattern) 介绍 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换.本模式使得算法的变化可独立于使用它的客户. 示例 有一个Message实体类,对它的操 ...

  4. 设计模式(一):“穿越火线”中的“策略模式”(Strategy Pattern)

    在前段时间呢陆陆续续的更新了一系列关于重构的文章.在重构我们既有的代码时,往往会用到设计模式.在之前重构系列的博客中,我们在重构时用到了"工厂模式"."策略模式" ...

  5. 设计模式实战-策略模式(Strategy Pattern)

    0 联系我 图片标题 1.Q群[Java开发技术交流]:jq.qq.com/?_wv=1027&a- 2.完整博客链接:www.shishusheng.com 3.知乎:www.zhihu.c ...

  6. 策略模式Strategy Pattern应用场景

    策略模式(Strategy Pattern)是指定义了算法家族.分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户. 策略模式的应用场景 1.假如系统中有很多类,而他们的 ...

  7. 锈才学设计模式之 —— 策略模式(Strategy Pattern)

    锈才学设计模式之  -- 策略模式 策略模式:把功能提供者单独封装成类,使它们可以互相替换使用,让功能提供者独立于使用者(调用者). 说明: 在面向对象编程中,我们尽量将功能(类)设计成复用,以符合O ...

  8. 策略模式(Strategy Pattern)

    算法与对象的耦合:     对象可能经常需要使用多种不同的算法,但是如果变化频繁,会将类型变得脆弱...             动机:     在软件构建过程中,某些对象使用的算法可能多种多样,经常 ...

  9. 39策略模式(Strategy Pattern)

    算法与对象的耦合:     对象可能经常需要使用多种不同的算法,但是如果变化频繁,会将类型变得脆弱...              动机:     在软件构建过程中,某些对象使用的算法可能多种多样,经 ...

  10. 设计模式-策略模式(Strategy Pattern)

    Define a family of algorithms,encapsulate each one,and make them interchangeable(定义一组算法,将每个算法都封装起来,并 ...

最新文章

  1. apache虚拟机的开启iis apache共存 apache 的设置(报错 找不到 Not found)
  2. 树组件说明书java_java树组件
  3. 互联网协议 — OSPF 开放式最短路径优先协议
  4. 利用注解 + 反射消除重复代码(Java项目)
  5. C++描述的位运算总结
  6. 互联网业界7月三件大事
  7. 螺旋桨设计软件_欧洲斥巨资研发的A400M螺旋桨运输机,为啥就没人买啊?| 图说...
  8. 医疗机构被勒索软件攻击的可能性是金融机构的114倍
  9. 可用于Asp.net的嵌入式数据库SqlCE4.0试用笔记
  10. 通用权限管理平台--数据模型定义
  11. video标签:以视频为背景的网页
  12. 【路径规划】基于matlab GUI改进的DWA算法机器人静态避障路径规划【含Matlab源码 678期】
  13. ACL访问控制 getfacl 、setfacl 命令
  14. 谁说菜鸟不会数据分析python mobi_利用Python进行数据分析[azw3+epub+mobi][30.34MB]
  15. 当今最热专家凯文•凯利最新演讲精彩全记录
  16. 拉钩教育课程管理系统接口文档
  17. 如何屏蔽csdn百度广告
  18. [软件应用]Kuler panel{photoshop面板}
  19. 开封机器人餐厅_开封食品分拣机器人
  20. mysql 性能容量评估

热门文章

  1. C学习杂记(三)笔试题:字符串大小写字母切换
  2. 靶场练习第二十五天~vulnhub靶场之Raven-2
  3. 字符串最长回文子串_最长回文子串
  4. 五、“嵌段共聚醚酯型”易去污整理剂的结构特点及对织物服用性的影响?
  5. 远控免杀专题11-Avoidz免杀
  6. 获得jmp esp地址
  7. 汇编[bx+idata](8086)
  8. [Golang]计算一个文件的MD5值
  9. 神牛笔记:吉林大学ACM总结(fennec)
  10. makefile中的shell调用---注意事项