designpatterns -- strategy
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相关推荐
- 策略模式/Strategy
策略模式/Strategy 意图/适用场景: 策略模式是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使得它们可以互换.这样做的好处是,客户端可以以插件的方式更换算法. 电子商务网站的购 ...
- 策略设计模式(Strategy Pattern)[论点:概念、组成角色、相关图示、示例代码、适用场景]
文章目录 概念 组成角色 相关图示 示例代码 适用场景 概念 策略模式(Strategy Pattern)是一种行为设计模式,它定义了一系列的算法,并将每一个算法封装起来,使它们可以相互替换.策略模式 ...
- 设计模式实践-策略模式
场景 使用不同策略封装命令 实现代码 命令封装接口 namespace DesignPatterns.Strategy {/// <summary>/// 命令封装接口/// </s ...
- 【设计模式】我对设计模式的C语言解读(下)
书接上回 由于内容太多,编辑器太卡了,所以分P了 上P在这里 目录 书接上回 备忘录模式 观察者模式 状态模式 策略模式 模板方法模式 访问者模式 备忘录模式 备忘录模式的介绍: https://re ...
- 工作中的设计模式 —— 策略模式
前言 返利网站 https://m.cpa5.cn/ 策略模式是一种行为设计模式,它能让你定义一系列算法,并将每种算法分别放入独立的类中,以使算法的对象能够相互替换. 使用场景 策略模式在工作中使用的 ...
- 设计模式—策略模式(用lol来分析)
转载注明出处:https://blog.csdn.net/qq_39071530/article/details/84172844 github地址 https://github.com/esmuss ...
- 采用注解实现策略模式
目录 一.前言 二.采用简单的注解方式进行业务策略模式 (一)场景举例 (二)实现方案 1.基本代码准备 2.基本功能接口定义 3.定义注解与不同的策略实现 4.业务实际使用 5.测试及结果展示 三. ...
- 模版模式的应用实际举例
目录 前言 基本理解与应用举例 业务应用 业务失败重试机制 基本模版代码 具体业务处理 使用及测试展示 使用框架实现业务失败重试机制 业务前置检查流程模版 基本代码依赖 模版代码准备 业务应用前置检查 ...
- 设计模式之Strategy(策略模式系列1)
看了Jdon上写的的策略模式,例子很简单,代码有些错误.http://www.jdon.com/designpatterns/ 文章写的比较早,其实现在的策略模式大多是用Enum来实现,会简单的多,但 ...
最新文章
- 买股票的最佳时机(六种题解dp)
- 为什么应始终将连接池与Oracle XE一起使用
- python3 byte 字面值_bytearray() Python 内置函数
- qt在GUI显示时,将调试信息输出到控制台的设置
- Aurora一些使用过程中碰到的问题
- 制定Windows重要安全计划——12步纲要
- 人工鱼群算法python实现
- PageHelper分页插件的简单使用
- JAVA学习——GUI鼠标画图交互练习
- 好架构师都是写代码写出来的
- 芝麻信用获世界级安全认证
- ADBPGGreenplum 成本优化之磁盘水位管理
- 22-05-21 西安 javaweb(07) HttpServletRequest和HttpServletResponse、转发与重定向、web应用的路径问题、解决中文乱码问题
- 微pe工具箱+软碟通 制作 U盘启动盘
- 作为荣耀脱离华为后的第二代旗舰,荣耀Magic4 Pro是否值得选购?
- 学习笔记(抽样技术)
- word2vec Parameter Learning Explained 论文学习笔记
- 计算机电源没有工作怎么解决,电脑开机电源不工作
- parallels for linux,教大家Parallels desktop安装linux教程
- 锐志51开发板原理图2,实物图,继电器,LCD1602或者OLED,DS18B20