2019独角兽企业重金招聘Python工程师标准>>>

策略模式

  • 类图

  • 代码
#include <iostream>
using namespace std;class Strategy
{
public:Strategy() {}~Strategy() {}virtual void Travel() = 0;};class StrategyWalk : public Strategy
{
public:StrategyWalk()    {}~StrategyWalk() {}void Travel(){cout << "I walk to my company." << endl;}
};class StrategyBus : public Strategy
{
public:StrategyBus() {}~StrategyBus() {}void Travel(){cout << "I go to work by bus." << endl;}
};class User
{
public:User() {}~User() {}void GotoWork(){this->methord->Travel();}void SetStrategy(Strategy *tool){this->methord = tool;}
private:Strategy *methord;
};int main(int argc, char *argv[])
{Strategy *tool = new StrategyBus();User *tom = new User();tom->SetStrategy(tool);tom->GotoWork();delete tool;delete tom;return 0;
}

转载于:https://my.oschina.net/randy1986/blog/1591540

designpatterns -- strategy相关推荐

  1. 策略模式/Strategy

    策略模式/Strategy 意图/适用场景: 策略模式是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使得它们可以互换.这样做的好处是,客户端可以以插件的方式更换算法. 电子商务网站的购 ...

  2. 策略设计模式(Strategy Pattern)[论点:概念、组成角色、相关图示、示例代码、适用场景]

    文章目录 概念 组成角色 相关图示 示例代码 适用场景 概念 策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列的算法,并将每一个算法封装起来,使它们可以相互替换.策略模式 ...

  3. 设计模式实践-策略模式

    场景 使用不同策略封装命令 实现代码 命令封装接口 namespace DesignPatterns.Strategy {/// <summary>/// 命令封装接口/// </s ...

  4. 【设计模式】我对设计模式的C语言解读(下)

    书接上回 由于内容太多,编辑器太卡了,所以分P了 上P在这里 目录 书接上回 备忘录模式 观察者模式 状态模式 策略模式 模板方法模式 访问者模式 备忘录模式 备忘录模式的介绍: https://re ...

  5. 工作中的设计模式 —— 策略模式

    前言 返利网站 https://m.cpa5.cn/ 策略模式是一种行为设计模式,它能让你定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换. 使用场景 策略模式在工作中使用的 ...

  6. 设计模式—策略模式(用lol来分析)

    转载注明出处:https://blog.csdn.net/qq_39071530/article/details/84172844 github地址 https://github.com/esmuss ...

  7. 采用注解实现策略模式

    目录 一.前言 二.采用简单的注解方式进行业务策略模式 (一)场景举例 (二)实现方案 1.基本代码准备 2.基本功能接口定义 3.定义注解与不同的策略实现 4.业务实际使用 5.测试及结果展示 三. ...

  8. 模版模式的应用实际举例

    目录 前言 基本理解与应用举例 业务应用 业务失败重试机制 基本模版代码 具体业务处理 使用及测试展示 使用框架实现业务失败重试机制 业务前置检查流程模版 基本代码依赖 模版代码准备 业务应用前置检查 ...

  9. 设计模式之Strategy(策略模式系列1)

    看了Jdon上写的的策略模式,例子很简单,代码有些错误.http://www.jdon.com/designpatterns/ 文章写的比较早,其实现在的策略模式大多是用Enum来实现,会简单的多,但 ...

最新文章

  1. 买股票的最佳时机(六种题解dp)
  2. 为什么应始终将连接池与Oracle XE一起使用
  3. python3 byte 字面值_bytearray() Python 内置函数
  4. qt在GUI显示时,将调试信息输出到控制台的设置
  5. Aurora一些使用过程中碰到的问题
  6. 制定Windows重要安全计划——12步纲要
  7. 人工鱼群算法python实现
  8. PageHelper分页插件的简单使用
  9. JAVA学习——GUI鼠标画图交互练习
  10. 好架构师都是写代码写出来的
  11. 芝麻信用获世界级安全认证
  12. ADBPGGreenplum 成本优化之磁盘水位管理
  13. 22-05-21 西安 javaweb(07) HttpServletRequest和HttpServletResponse、转发与重定向、web应用的路径问题、解决中文乱码问题
  14. 微pe工具箱+软碟通 制作 U盘启动盘
  15. 作为荣耀脱离华为后的第二代旗舰,荣耀Magic4 Pro是否值得选购?
  16. 学习笔记(抽样技术)
  17. word2vec Parameter Learning Explained 论文学习笔记
  18. 计算机电源没有工作怎么解决,电脑开机电源不工作
  19. parallels for linux,教大家Parallels desktop安装linux教程
  20. 锐志51开发板原理图2,实物图,继电器,LCD1602或者OLED,DS18B20

热门文章

  1. gzip,bzip2压缩工具及tar打包工具
  2. 各种没有由来的问题,干!
  3. Java多线程初学者指南(12):使用Synchronized块同步变量
  4. 从入门到放弃,C++ 真这么难?
  5. mysql 运行模式_MySQL的运行模式及一些特性,引擎、事务、并发控制、优化总结...
  6. RabbitMQ的missingQueuesFatal参数
  7. 一条更新SQL 是如何执行的?
  8. 不可达的对象一定要被回收吗?
  9. 数据库事务原理详解-事务的嵌套
  10. Nacos注册中心介绍