计划情势的解析和实现(C++)之十六-Strategy情势[VC/C++编程]
本文“计划情势的解析和实现(C++)之十六-Strategy情势[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
作用:
定义一系列的算法,把它们一个个封装起来, 并且使它们可彼此替换.本情势使得算法可独立于利用它的客户而改变.
解析:
简而言之一句话,Strategy情势是对算法的封装.处理一个问题的时刻大概有多种算法,这些算法的接口(输入参数,输出参数等)都是一致的,那么可以考虑采取Strategy情势对这些算法举行封装,在基类中定义一个函数接口便可以了.
实现:
1)Strategy.h
/**//********************************************************************
created: 2006/08/06
filename: Strategy.h
author: 李创
http://www.cppblog.com/converse/
purpose: Strategy情势的演示代码
*********************************************************************/
#ifndef STRATEGY_H
#define STRATEGY_H
class Strategy;
class Context
{
public:
Context(Strategy *pStrategy);
~Context();
void ContextInterface();
private:
Strategy* m_pStrategy;
};
class Strategy
{
public:
virtual ~Strategy(){}
virtual void AlgorithmInterface() = 0;
};
class ConcreateStrategyA
: public Strategy
{
public:
virtual ~ConcreateStrategyA(){}
virtual void AlgorithmInterface();
};
#endif
以上是“计划情势的解析和实现(C++)之十六-Strategy情势[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |