Strategy模式C++实现
2011-01-09 21:11
127 查看
作用:
定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换.本模式使得算法可独立于使用它的客户而变化.
UML结构图:
#ifndef STRATEGY_H
#define STRATEGY_H
class Strategy;
class Context
class Strategy
class ConcreateStrategyA
: public Strategy
#endif
2)Strategy.cpp
#include <iostream>
#include "Strategy.h"
Context::Context(Strategy *pStrategy)
: m_pStrategy(pStrategy)
Context::~Context()
void Context::ContextInterface()
void ConcreateStrategyA::AlgorithmInterface()
3)Main.cpp
#include "Strategy.h"
int main()
Strategy* pStrategy = new ConcreateStrategyA();
Context* pContext = new Context(pStrategy);
pContext->ContextInterface();
delete pContext;
return 0;
}
定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换.本模式使得算法可独立于使用它的客户而变化.
UML结构图:
#ifndef STRATEGY_H
#define STRATEGY_H
class Strategy;
class Context
class Strategy
class ConcreateStrategyA
: public Strategy
#endif
2)Strategy.cpp
#include <iostream>
#include "Strategy.h"
Context::Context(Strategy *pStrategy)
: m_pStrategy(pStrategy)
Context::~Context()
void Context::ContextInterface()
void ConcreateStrategyA::AlgorithmInterface()
3)Main.cpp
#include "Strategy.h"
int main()
Strategy* pStrategy = new ConcreateStrategyA();
Context* pContext = new Context(pStrategy);
pContext->ContextInterface();
delete pContext;
return 0;
}
相关文章推荐
- Head First 设计模式 C++实现-Strategy(策略模式)
- HeadFirst设计模式 之 C++实现(一):Strategy(策略模式) && 初入设计模式殿堂
- [GoF设计模式]Proxy模式和Strategy模式的C++实现
- 常见设计模式的解析和实现(C++)之十六-Strategy模式
- C++实现策略(Strategy)模式
- Head First设计模式C++实现-Strategy模式
- 设计模式C++实现(2)——策略模式(strategy)
- Head First设计模式C++实现-Strategy模式
- 常见设计模式的解析和实现(C++)之十六-Strategy模式
- 设计模式之strategy模式(C++实现)
- 设计模式之strategy模式(C++实现)
- 设计模式的解析和实现(C++)之十六-Strategy模式
- 设计模式之C++实现(二)---策略模式(Strategy)
- Head First 设计模式 C++实现-Strategy(策略模式)
- C++实现Behavioral - Strategy模式
- 设计模式系列1-----C++实现策略模式(Strategy)
- C++实现策略(Strategy)模式
- 大话设计模式--策略模式 strategy -- C++实现实例
- 大话设计模式--策略模式 strategy -- C++实现实例
- C++实现Behavioral - Strategy模式