一、策略模式(Strategy Pattern)
策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于算法的客户。
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)相关推荐
- 8.6 GOF设计模式四: 策略模式… Strategy Pattern
策略模式- Strategy Pattern 在POS系统中,有时需要实行价格优惠, 该如何处理? 对普通客户或新客户报全价 对老客户统一折扣5% 对大客户统一折扣10% 注:课件 ...
- 解读设计模式----策略模式(Strategy Pattern)
一.模式概述 策略模式(Strategy Pattern)在外形上与状态模式很相似,但在意图上有些不同.其意图是使这些算法可以相互替换,并提供一种方法来选择最合适的算法. 在我应 ...
- 二十四种设计模式:策略模式(Strategy Pattern)
策略模式(Strategy Pattern) 介绍 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换.本模式使得算法的变化可独立于使用它的客户. 示例 有一个Message实体类,对它的操 ...
- 设计模式(一):“穿越火线”中的“策略模式”(Strategy Pattern)
在前段时间呢陆陆续续的更新了一系列关于重构的文章.在重构我们既有的代码时,往往会用到设计模式.在之前重构系列的博客中,我们在重构时用到了"工厂模式"."策略模式" ...
- 设计模式实战-策略模式(Strategy Pattern)
0 联系我 图片标题 1.Q群[Java开发技术交流]:jq.qq.com/?_wv=1027&a- 2.完整博客链接:www.shishusheng.com 3.知乎:www.zhihu.c ...
- 策略模式Strategy Pattern应用场景
策略模式(Strategy Pattern)是指定义了算法家族.分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的用户. 策略模式的应用场景 1.假如系统中有很多类,而他们的 ...
- 锈才学设计模式之 —— 策略模式(Strategy Pattern)
锈才学设计模式之 -- 策略模式 策略模式:把功能提供者单独封装成类,使它们可以互相替换使用,让功能提供者独立于使用者(调用者). 说明: 在面向对象编程中,我们尽量将功能(类)设计成复用,以符合O ...
- 策略模式(Strategy Pattern)
算法与对象的耦合: 对象可能经常需要使用多种不同的算法,但是如果变化频繁,会将类型变得脆弱... 动机: 在软件构建过程中,某些对象使用的算法可能多种多样,经常 ...
- 39策略模式(Strategy Pattern)
算法与对象的耦合: 对象可能经常需要使用多种不同的算法,但是如果变化频繁,会将类型变得脆弱... 动机: 在软件构建过程中,某些对象使用的算法可能多种多样,经 ...
- 设计模式-策略模式(Strategy Pattern)
Define a family of algorithms,encapsulate each one,and make them interchangeable(定义一组算法,将每个算法都封装起来,并 ...
最新文章
- apache虚拟机的开启iis apache共存 apache 的设置(报错 找不到 Not found)
- 树组件说明书java_java树组件
- 互联网协议 — OSPF 开放式最短路径优先协议
- 利用注解 + 反射消除重复代码(Java项目)
- C++描述的位运算总结
- 互联网业界7月三件大事
- 螺旋桨设计软件_欧洲斥巨资研发的A400M螺旋桨运输机,为啥就没人买啊?| 图说...
- 医疗机构被勒索软件攻击的可能性是金融机构的114倍
- 可用于Asp.net的嵌入式数据库SqlCE4.0试用笔记
- 通用权限管理平台--数据模型定义
- video标签:以视频为背景的网页
- 【路径规划】基于matlab GUI改进的DWA算法机器人静态避障路径规划【含Matlab源码 678期】
- ACL访问控制 getfacl 、setfacl 命令
- 谁说菜鸟不会数据分析python mobi_利用Python进行数据分析[azw3+epub+mobi][30.34MB]
- 当今最热专家凯文•凯利最新演讲精彩全记录
- 拉钩教育课程管理系统接口文档
- 如何屏蔽csdn百度广告
- [软件应用]Kuler panel{photoshop面板}
- 开封机器人餐厅_开封食品分拣机器人
- mysql 性能容量评估