C++设计模式:策略模式
来源:互联网 发布:仙侠世界cos捏脸数据 编辑:程序博客网 时间:2024/06/10 20:43
=策略模式:定义了算法家族,分别封装起来,然后定义一个统一的借口,算法之间可以相互替换。使用该模式可以让算法的变化不影响到使用算法的客户。
模式实现:策略模式具体实现时通常与工厂模式相结合,定义一个工厂类,来决定初始化哪个算法。
代码如下:
#include<iostream>using namespace std;enum RA{LRU,FIFO,RANDOM};class ReplaceAlgorithm{public: virtual void Replace() = 0;};class LRU_ReplaceAlgorithm :public ReplaceAlgorithm{public: void Replace() { cout <<"Least Recently Used replace algorithm"<<endl; }};class FIFO_ReplaceAlgorithm :public ReplaceAlgorithm{public: void Replace() { cout << "First in First out replace Algorithm" << endl; }};class random_ReplaceAlgprithm :public ReplaceAlgorithm{public: void Replace() { cout << "Random replace algorithm" << endl; }};class Cache{private: ReplaceAlgorithm*m_ra;public: Cache(RA ra) { if (ra == LRU) { m_ra = new LRU_ReplaceAlgorithm(); } else if (ra == FIFO) { m_ra = new FIFO_ReplaceAlgorithm(); } else if (ra == RANDOM) { m_ra = new random_ReplaceAlgprithm(); } else m_ra = NULL; } ~Cache() { delete m_ra; m_ra = NULL; } void Replace() { m_ra->Replace(); }};
阅读全文
0 0
- 设计模式C++(Strategy策略模式)
- 设计模式C++(Strategy策略模式)
- C语言设计模式:策略模式
- C语言设计模式之策略模式
- 设计模式-策略模式
- 设计模式:策略模式
- 设计模式-策略模式
- 设计模式 - 策略模式
- 设计模式-策略模式
- 设计模式-----策略模式
- 设计模式 策略模式
- 设计模式-策略模式
- 设计模式-【策略模式】
- 设计模式-----策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- 设计模式- 策略模式
- 设计模式- 策略模式
- parseXML 与 parseJson
- JAVA-EE过滤器Filter的简单使用
- POJ 3111:K Best(思维+二分)
- BZOJ 3261 浅谈可持久化TRIE树最大连续异或和
- 【NYOJ
- C++设计模式:策略模式
- css盒子模型
- GIF文件格式详解
- Android获得json和XML
- 算法第四版 练习 1.3.34
- AI将带我们去何方?(上-前言篇)
- WekaAPI的学习(加载数据)
- 309. Best Time to Buy and Sell Stock with Cooldown---C语言
- ThinkPHP简介