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

emptysoul

  C++博客 :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
  25 Posts :: 0 Stories :: 23 Comments :: 0 Trackbacks

常用鏈接

留言簿(18)

我參與的團(tuán)隊(duì)

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

享無(wú)模式(Flyweight)是運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象。結(jié)構(gòu)圖如下:
 

以一個(gè)文本編輯器的例子來(lái)說(shuō)明,在文本編輯器中經(jīng)常要輸入大量的重復(fù)字符,例如在文本中輸入AAABBAABB......,這時(shí)AB大量重復(fù)出現(xiàn),這些字符可能只是某些屬性不一樣,若每次輸入時(shí)都重新實(shí)例化一個(gè)字符,那么在內(nèi)存空間中將存在大量的字符對(duì)象,此時(shí)若利用享元模式將重復(fù)的字符進(jìn)行共享,每次輸入時(shí)都從共享單元中取出字符,并且對(duì)其進(jìn)行相應(yīng)的屬性設(shè)置,那么就節(jié)省了很多空間,結(jié)構(gòu)圖如下:


實(shí)現(xiàn)代碼:
//Character.h
class Character  
{
public:
    
virtual ~Character();

    
virtual void SetSize(intint= 0;
    
virtual void Display() = 0;
protected:
    Character();
    
char m_chSymbol;
    
int m_nWeight;
    
int m_nHeight;
};

//Character.cpp
#include "stdafx.h"
#include 
"Character.h"

Character::Character()
{

}

Character::
~Character()
{

}

//CharacterA.h
#include "Character.h"

class CharacterA : public Character
{
public:
    CharacterA();
    
virtual ~CharacterA();

    
void SetSize(intint);
    
void Display();
};

//CharacterA.cpp
#include "stdafx.h"
#include 
"CharacterA.h"
#include 
<iostream>

using namespace std;

CharacterA::CharacterA()
{
    
this->m_chSymbol = 'A';
    
this->m_nWeight = 100;
    
this->m_nHeight = 200;
}

CharacterA::
~CharacterA()
{

}

void CharacterA::SetSize(int nWeight, int nHeight)
{
    
this->m_nWeight = nWeight;
    
this->m_nHeight = nHeight;
}

void CharacterA::Display()
{
    cout 
<< "CharacterA:" << m_chSymbol << "(" << m_nWeight << "," << m_nHeight << ")" << endl;
}

//CharacterB.h
#include "Character.h"

class CharacterB : public Character
{
public:
    CharacterB();
    
virtual ~CharacterB();

    
void SetSize(intint);
    
void Display();
};

//CharacterB.cpp
#include "stdafx.h"
#include 
"CharacterB.h"
#include 
<iostream>

using namespace std;

CharacterB::CharacterB()
{
    
this->m_chSymbol = 'B';
    
this->m_nWeight = 100;
    
this->m_nHeight = 200;
}

CharacterB::
~CharacterB()
{

}

void CharacterB::SetSize(int nWeight, int nHeight)
{
    
this->m_nWeight = nWeight;
    
this->m_nHeight = nHeight;
}

void CharacterB::Display()
{
    cout 
<< "CharacterB:" << m_chSymbol << "(" << m_nWeight << "," << m_nHeight << ")" << endl;
}

//CharacterFactory.h
#include <map>

class Character;
class CharacterFactory  
{
public:
    CharacterFactory();
    
virtual ~CharacterFactory();

    Character
* GetCharacter(char);
private:
    std::map
<char, Character*> m_mChar;
};

//CharacterFactory.cpp
#include "stdafx.h"
#include 
"CharacterFactory.h"
#include 
"CharacterA.h"
#include 
"CharacterB.h"

using namespace std;

CharacterFactory::CharacterFactory()
{
    m_mChar.insert(make_pair
<char, Character*>('A'new CharacterA));
    m_mChar.insert(make_pair
<char, Character*>('B'new CharacterB));
}

CharacterFactory::
~CharacterFactory()
{

}

Character
* CharacterFactory::GetCharacter(char chIn)
{
    map
<char, Character*>::iterator it = m_mChar.find(chIn);
    
if(it != m_mChar.end())
    {
       
return (Character*)it->second;
    }

    
return NULL;
}

//main.cpp
#include "stdafx.h"
#include 
"CharacterFactory.h"
#include 
"Character.h"

int main(int argc, char* argv[])
{
    CharacterFactory
* pFactory = new CharacterFactory;
    Character
* pChar = pFactory->GetCharacter('A');
    pChar
->Display();
    pChar 
= pFactory->GetCharacter('B');
    pChar
->SetSize(500800);
    pChar
->Display();

    
return 0;
}

上面代碼中,我們?nèi)〕鯝、B,并對(duì)B進(jìn)行了修改。

最后輸出為:
CharacterA:A(100,200)
CharacterB:B(500,800)
posted on 2009-02-11 14:57 emptysoul 閱讀(586) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美国产日韩一区二区在线观看| 免费观看成人| 日韩午夜黄色| 久久久www成人免费精品| 在线亚洲一区二区| 久久夜精品va视频免费观看| 欧美在线高清| 国产精品爱久久久久久久| 亚洲国产美国国产综合一区二区| 国产精品一二| 亚洲视频狠狠| 亚洲专区欧美专区| 欧美日韩国产欧美日美国产精品| 免费不卡中文字幕视频| 狠狠色丁香久久婷婷综合_中| 亚洲视频一起| 亚洲欧美精品伊人久久| 欧美日在线观看| 亚洲精选成人| 亚洲色图自拍| 国产精品海角社区在线观看| 亚洲精品久久久久久下一站| 99国产精品| 欧美欧美午夜aⅴ在线观看| 欧美激情精品久久久久久| 一区二区在线视频观看| 久久久久99| 欧美国产免费| 亚洲美女在线国产| 欧美精品一卡| 99在线热播精品免费| 亚洲视频一区二区| 国产精品视频免费一区| 亚洲欧美中文另类| 久久网站热最新地址| 亚洲国产福利在线| 欧美电影在线| aa级大片欧美三级| 欧美一区二视频| 国产综合欧美在线看| 久久久久久久成人| 亚洲国产欧美日韩| 亚洲无人区一区| 国产日韩欧美自拍| 狂野欧美激情性xxxx欧美| 亚洲国产精品www| 亚洲一区不卡| 狠狠88综合久久久久综合网| 欧美成人首页| 亚洲深夜福利在线| 麻豆成人综合网| 一区二区三区欧美在线| 国产精品无人区| 老鸭窝毛片一区二区三区| 99re66热这里只有精品4| 久久久国产一区二区三区| 亚洲国产日韩欧美在线图片| 欧美视频一区二| 久久久不卡网国产精品一区| 亚洲精品视频二区| 久久婷婷国产综合精品青草| 亚洲美女中出| 国产亚洲视频在线| 欧美区高清在线| 久久成人亚洲| 亚洲视频精品| 亚洲高清不卡一区| 欧美一区亚洲| 亚洲最新合集| 永久域名在线精品| 国产精品美女久久久久久免费| 久久久久久久久久久久久久一区 | 亚洲一级网站| 亚洲国产免费| 国产一区二区无遮挡| 欧美日韩国产影片| 久热这里只精品99re8久| 亚洲午夜精品久久| 亚洲精品一区二区三区在线观看| 久久一区二区三区国产精品| 亚洲综合精品| 一区二区高清| 亚洲三级电影在线观看| 国产一区二区三区丝袜| 国产精品久久亚洲7777| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲免费在线看| 99精品99久久久久久宅男| 亚洲第一色中文字幕| 久久久久久日产精品| 亚洲欧美日韩视频一区| 亚洲视频电影在线| 一本一道久久综合狠狠老精东影业| 在线观看欧美黄色| 狠狠色噜噜狠狠色综合久| 国产日韩欧美二区| 国产精品视频yy9299一区| 欧美性猛交xxxx免费看久久久 | 久久久777| 欧美在线91| 欧美专区在线| 欧美一级欧美一级在线播放| 亚洲一区国产精品| 亚洲一区二区三区四区中文| 中文精品一区二区三区| 在线视频欧美一区| 中文欧美日韩| 亚洲综合不卡| 欧美一区二区大片| 久久久精品国产一区二区三区| 欧美一区深夜视频| 久久精品国产久精国产爱| 久久久久国色av免费看影院| 久久夜色精品国产噜噜av| 久久夜色精品亚洲噜噜国产mv| 久久综合成人精品亚洲另类欧美| 久久一区二区三区四区| 欧美aa在线视频| 亚洲精品欧洲| 亚洲一区二区高清视频| 午夜在线一区二区| 久久视频在线看| 欧美国产综合视频| 国产精品久久国产愉拍| 国产美女精品人人做人人爽| 国产在线观看精品一区二区三区| 在线观看久久av| 在线天堂一区av电影| 香蕉久久精品日日躁夜夜躁| 久久久欧美精品| 最新国产成人在线观看| 亚洲五月六月| 久热精品视频在线| 欧美视频在线观看免费| 国产一区二区三区av电影| 亚洲国产精品成人精品| 亚洲少妇一区| 久久一区二区三区国产精品 | 奶水喷射视频一区| 欧美色欧美亚洲另类二区| 国产九区一区在线| 亚洲黄色免费电影| 午夜精品久久一牛影视| 久久综合九色99| 日韩午夜剧场| 久久久精品久久久久| 欧美日韩一区在线| 韩国一区电影| 亚洲视频在线一区观看| 久久综合久久综合这里只有精品 | 99视频精品全国免费| 欧美一区二区三区另类| 亚洲第一中文字幕在线观看| 亚洲影视在线| 欧美精品在线网站| 狠狠网亚洲精品| 亚洲欧美日韩视频一区| 欧美激情在线免费观看| 亚洲欧美激情一区二区| 欧美精品一区二区三区四区| 国模精品一区二区三区| 亚洲天堂成人在线视频| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲视频1区| 欧美精品成人一区二区在线观看| 国产亚洲一本大道中文在线| 亚洲一二三区视频在线观看| 亚洲电影在线播放| 久久久久九九九九| 国产日本亚洲高清| 亚洲资源av| 亚洲免费高清视频| 欧美电影资源| 亚洲二区在线观看| 久久免费偷拍视频| 午夜精品久久久久久99热软件| 欧美日韩一区二区三| 亚洲片区在线| 欧美成人精品高清在线播放| 久久精品视频免费播放| 国产欧美一区二区精品性 | 亚洲国产日韩综合一区| 久久夜色精品国产亚洲aⅴ| 国产欧美三级| 久久精品国产免费| 午夜欧美精品久久久久久久| 国产精品美女久久久久久久| 亚洲制服欧美中文字幕中文字幕| 亚洲精品国产系列| 欧美激情一区二区久久久| 亚洲剧情一区二区| 亚洲精品乱码视频| 欧美日本一区二区高清播放视频| 亚洲精品美女免费| 亚洲日本理论电影| 欧美日韩一区二区三区| 亚洲欧美激情精品一区二区| 亚洲视频axxx| 国产亚洲欧美一区| 欧美va天堂在线|