青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

那誰的技術博客

感興趣領域:高性能服務器編程,存儲,算法,Linux內核
隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
數據加載中……

常見設計模式的解析和實現(C++)之十六-Strategy模式

作用:
定義一系列的算法,把它們一個個封裝起來, 并且使它們可相互替換.本模式使得算法可獨立于使用它的客戶而變化.

UML結構圖:


解析:
簡而言之一句話,Strategy模式是對算法的封裝.處理一個問題的時候可能有多種算法,這些算法的接口(輸入參數,輸出參數等)都是一致的,那么可以考慮采用Strategy模式對這些算法進行封裝,在基類中定義一個函數接口就可以了.

實現:
1)Strategy.h
/********************************************************************
????created:????2006/08/06
????filename:?????Strategy.h
????author:????????李創
????????????????
http://m.shnenglu.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

2)Strategy.cpp
/********************************************************************
????created:????2006/08/06
????filename:?????Strategy.cpp
????author:????????李創
????????????????
http://m.shnenglu.com/converse/

????purpose:????Strategy模式的演示代碼
********************************************************************
*/


#include?
<iostream>
#include?
"Strategy.h"

Context::Context(Strategy?
*pStrategy)
????:?m_pStrategy(pStrategy)
{
}


Context::
~Context()
{
????delete?m_pStrategy;
????m_pStrategy?
=?NULL;
}


void?Context::ContextInterface()
{
????
if?(NULL?!=?m_pStrategy)
????
{
????????m_pStrategy
->AlgorithmInterface();
????}

}


void?ConcreateStrategyA::AlgorithmInterface()
{
????std::cout?
<<?"AlgorithmInterface?Implemented?by?ConcreateStrategyA\n";
}


3)Main.cpp
/********************************************************************
????created:????2006/08/06
????filename:?????Main.cpp
????author:????????李創
????????????????
http://m.shnenglu.com/converse/

????purpose:????Strategy模式的測試代碼
********************************************************************
*/


#include?
"Strategy.h"

int?main()
{
????Strategy
*?pStrategy?=?new?ConcreateStrategyA();
????Context
*??pContext??=?new?Context(pStrategy);

????pContext
->ContextInterface();

????delete?pContext;

????
return?0;
}

posted on 2006-08-06 22:22 那誰 閱讀(2824) 評論(1)  編輯 收藏 引用 所屬分類: 設計模式

評論

# re: 常見設計模式的解析和實現(C++)之十六-Strategy模式 [未登錄]  回復  更多評論   

太謝謝李兄了,看了四人幫的設計模式,半天沒弄懂的東西,一看你的代碼,立馬就懂了!太感謝了!代碼和注釋都寫得清晰易懂,太佩服了!
2011-01-25 01:10 | Peter
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日本欧洲亚洲| 欧美专区在线观看一区| 中日韩美女免费视频网址在线观看| 国产一区二区三区的电影 | 免费成人你懂的| 免费成人av| 欧美精品自拍| 欧美日韩精品一二三区| 久久亚洲精品一区| 欧美不卡一区| 亚洲人成网站影音先锋播放| 亚洲国产精品日韩| 亚洲一二三区精品| 欧美在线三级| 欧美高清视频在线观看| 欧美三区视频| 在线成人激情黄色| 亚洲网友自拍| 美女在线一区二区| 亚洲精品影视| 久久久久国产精品一区二区| 欧美激情自拍| 国产在线一区二区三区四区| 日韩亚洲国产精品| 久久久精品日韩| 日韩午夜av| 久久人人爽人人爽爽久久| 欧美日韩国产成人在线观看| 国产一区日韩一区| 在线亚洲+欧美+日本专区| 久久午夜视频| 日韩亚洲一区二区| 久久精品最新地址| 欧美图区在线视频| 99国产精品久久久久老师| 久久精品99| 99成人免费视频| 噜噜噜久久亚洲精品国产品小说| 欧美视频在线观看一区| 亚洲国产一区二区视频 | 欧美刺激午夜性久久久久久久| 99国产精品国产精品久久| 久久精品成人| 国产区精品在线观看| 亚洲图片欧美午夜| 亚洲人成网站999久久久综合| 久久成人这里只有精品| 国产精品久久| 亚洲欧美国产精品va在线观看| 亚洲国产高潮在线观看| 久久一区二区三区国产精品| 国产日产欧美精品| 欧美一区亚洲二区| 亚洲欧美激情在线视频| 国产精品久久九九| 亚洲自拍都市欧美小说| 99精品热6080yy久久| 欧美日韩国产bt| 亚洲网友自拍| 亚洲在线播放电影| 国产精品免费一区二区三区观看| 亚洲一区精彩视频| 中文欧美在线视频| 国产伦精品一区二区| 欧美一区二区在线看| 亚洲欧美日韩在线不卡| 亚洲视频在线看| 国产精品日日摸夜夜添夜夜av| 亚洲男人第一av网站| 亚洲一区二三| 狠狠久久婷婷| 亚洲第一区色| 欧美日韩在线一区二区三区| 亚洲综合电影一区二区三区| 亚洲视频专区在线| 国产一区二区丝袜高跟鞋图片| 久久一区视频| 欧美激情第一页xxx| 亚洲一区二区三区激情| 亚洲午夜未删减在线观看| 国产情人综合久久777777| 久久精品视频播放| 美国成人毛片| 亚洲专区欧美专区| 久久精品一二三| 一本色道久久88综合亚洲精品ⅰ| 在线亚洲伦理| 精品88久久久久88久久久| 亚洲福利在线观看| 欧美视频不卡中文| 久久亚洲视频| 欧美日韩在线播放三区四区| 久久福利精品| 欧美日韩国产欧美日美国产精品| 另类天堂av| 亚洲欧美99| 欧美jjzz| 久久精品一二三区| 欧美视频三区在线播放| 欧美91福利在线观看| 欧美午夜视频| 欧美国产日韩精品| 国产午夜精品在线观看| 亚洲激情黄色| 黄色精品一区二区| 亚洲少妇中出一区| 亚洲日本va午夜在线电影| 亚洲综合日韩在线| 日韩午夜黄色| 久久婷婷丁香| 欧美一级艳片视频免费观看| 欧美成人亚洲| 欧美成人精精品一区二区频| 国产欧美三级| 宅男噜噜噜66国产日韩在线观看| 亚洲三级观看| 久久久国产91| 久久精品国产清高在天天线| 欧美日韩国产色站一区二区三区| 另类天堂av| 国产日韩综合一区二区性色av| 日韩视频在线一区二区三区| 亚洲激情电影在线| 久久网站免费| 久久一区免费| 激情av一区| 亚洲欧美欧美一区二区三区| 在线观看av不卡| 久久精品首页| 久久久久成人精品免费播放动漫| 国产精品久久久久久久7电影| 国产精品国产三级国产普通话三级| 亚洲午夜精品17c| 美女福利精品视频| 欧美成人精品一区二区三区| 国产精品网红福利| 亚洲一区免费观看| 香蕉久久a毛片| 国产精品亚洲аv天堂网| 一本久久综合| 午夜激情一区| 国产午夜精品美女视频明星a级 | 欧美专区在线播放| 久久精品在线播放| 狠狠色噜噜狠狠色综合久| 久久精品亚洲乱码伦伦中文 | 久久激情一区| 久久久999精品| 国内精品久久久久影院薰衣草| 久久国产精品第一页| 免费在线观看成人av| 亚洲日本电影| 欧美午夜www高清视频| 亚洲欧美另类久久久精品2019| 久久都是精品| 亚洲国产日韩综合一区| 欧美精品一区二区视频| 这里只有精品在线播放| 久久精品国产免费| 亚洲黄色在线观看| 欧美午夜电影在线| 欧美在线影院在线视频| 亚洲成色www久久网站| 亚洲一级二级| 精品成人一区二区| 欧美日韩国产综合新一区| 亚洲欧美日韩精品久久奇米色影视| 久久久久久久一区二区| 日韩午夜三级在线| 国内不卡一区二区三区| 欧美日韩精品不卡| 久久精品女人| 一本久久综合| 欧美黄色免费| 久久成人国产精品| 99在线精品免费视频九九视| 国产综合色产在线精品| 欧美日韩国产在线播放网站| 久久国产一区二区| 宅男精品视频| 91久久精品www人人做人人爽| 久久国产精品亚洲77777| aa级大片欧美| 亚洲国语精品自产拍在线观看| 国产精品一区二区久久久久| 欧美高清视频一区二区| 欧美亚洲三级| 亚洲视频在线播放| 亚洲精品乱码久久久久久蜜桃91 | 在线亚洲一区观看| 欧美国产91| 欧美一区二区精品| 美日韩精品视频免费看| 中文av一区二区| 亚洲国产精品va在看黑人| 国产精品亚洲一区| 欧美日韩福利在线观看| 裸体丰满少妇做受久久99精品| 先锋影院在线亚洲| 亚洲自啪免费|