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

Beginning to 編程

VC++ 方面編程文章

 

資源和資源管理類的設(shè)計問題


我要設(shè)計的應(yīng)用程序其中的一個模塊就是封裝 windows GDI中的畫筆,畫刷等GDI object
把GDI object 再封裝成resource,以實現(xiàn)多種樣式多線條的畫筆及畫刷資源

畫筆,畫刷等資源繼承resource
為了避免發(fā)生資源泄露和resource的管理
設(shè)計ResourceManager類,負責資源的創(chuàng)建,加載和卸載以及刪除

兩個抽象類 Resource 和 ResourceManager
兩個具體類 ConcreateResource 和 ConcreateResourceManager
分別派生于上面的抽象類

以上設(shè)計是看了 OGRE 游戲引擎的資源管理部分,
對它的資源管理類ResourceManager不是很理解

resource 派生了pen,brush等類
pen類可以來自文件,也可以自己創(chuàng)建SubPen 添加到SubPenList中

ResourceManager 負責創(chuàng)建資源Resource
1. 如果我在抽象的 ResourceManager 聲明 createRes函數(shù),并返回基類resource
勢必會要強制轉(zhuǎn)換,然后在用到具體的Resource時候又要轉(zhuǎn)換回來

2. 如果我在具體類 ConcreateResourceManager 聲明 createConcreateRes函數(shù)
那么就白費了我應(yīng)用設(shè)計模式設(shè)計這么多類


// abstract class for resource
class Resource{
public:
?// standard constructor
? Resource(const string& name, const string& group)
?:mName(name),mGroup(group){}
? ~Resource(){}
protected:
?// prevent default construct
? Resource():mName(""),mGroup(""){}
? string mName;
? string mGroup;
? static unsigned long mHandle;
};

// subclass of resource
// concreateResource such as PEN
class Pen:
?public Resource{
?Pen(const string& name, const string& group)
??:Resource(name,group){}
??~Pen(){}

? void loadfromFile(string& filename);

// add?into vector
? void addSubPen(SubPen* sub){
???? mSubPenList.push_back(sub);
}
public:
typedef std::vector<SubPen> SubPenList;
SubPenList mSubPenList;

};
class
// abstract class for resource manager
class ResourceManager{
public:
? ResourceManager(){}
? ~ResourceManager(){}
public:
// here , I cannot understand OGRE degsin
? Resource* createRes(const string& name,const string& group);
?// resource map
 typedef std::map<string,Resource*> ResourceMap;
?? ResourceMap mResources;

};

// subclass ResourceManager
class ConcreateResourceManager
?:public ResourceManager
{
?ConcreateResourceManager(){}
?~ConcreateResourceManager(){}

????? // how can design here!!
?????? Pen* createPen(const string& name,const string& group){}
}

?

posted on 2006-05-27 22:19 Beginning to 編程 閱讀(735) 評論(1)  編輯 收藏 引用 所屬分類: 程序摘錄

評論

# re: 資源和資源管理類的設(shè)計問題 2006-05-28 11:05 LOGOS

我不太清楚你要干什么。。。
class Pen : public Resource;
class PenManager : public ResourceManager;
class Brush : public Resource;
class BrushManager : public ResourceManager;

ResourcePtr ResourceManager::create(...) 只是創(chuàng)建一個占位符,但是還沒有l(wèi)oad。
設(shè)計基類Resource的目的,是為了可以重用ResourceManager對資源的管理代碼,不是給你用的。
至于對具體資源的引用和載入,是留給具體的ResourceManager來實現(xiàn)的。因此你要創(chuàng)建Pen,應(yīng)該這么做:PenPtr p = PenManager::singleton().load(...)。而不是:PenPtr p = (PenPtr)ResourceManager::singleton().create(...)。  回復(fù)  更多評論   

導(dǎo)航

統(tǒng)計

常用鏈接

留言簿(4)

隨筆分類

隨筆檔案

文章檔案

相冊

BlogDev

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美国产亚洲另类动漫| 亚洲美女视频在线观看| 欧美黄色免费网站| 国产精品日韩久久久久| 你懂的亚洲视频| 国产精品视频免费一区| 91久久线看在观草草青青| 国产人成精品一区二区三| 亚洲精品一区在线观看香蕉| 亚洲国产成人av好男人在线观看| 亚洲一区999| 亚洲深夜福利在线| 欧美成人激情视频免费观看| 老色鬼精品视频在线观看播放| 国产精品美女主播| 一区二区三区色| 日韩午夜激情av| 蜜桃av噜噜一区| 免费永久网站黄欧美| 国产在线精品自拍| 欧美一区二区三区在线| 欧美一区二区精美| 国产欧美三级| 午夜一级久久| 久久精品国产视频| 国产午夜精品全部视频播放 | 久久久久国产精品www | 欧美日韩免费观看一区=区三区| 美女视频网站黄色亚洲| 黄色成人在线网址| 久久精品国产亚洲aⅴ| 久久久水蜜桃av免费网站| 国产一区二区三区的电影| 午夜精品福利在线| 久久人人97超碰精品888| 精品粉嫩aⅴ一区二区三区四区| 欧美一区二视频| 美女视频黄 久久| 亚洲国产合集| 女仆av观看一区| 91久久精品国产91久久性色| 9久re热视频在线精品| 欧美日韩中文在线| 亚洲一区二区三区四区中文| 欧美一二三视频| 狠狠综合久久| 欧美激情视频免费观看| 日韩视频免费在线观看| 亚洲欧美在线免费| 国产午夜亚洲精品羞羞网站| 久久久久欧美精品| 亚洲欧洲精品一区二区精品久久久| 99re热这里只有精品视频| 国产精品v日韩精品v欧美精品网站| 亚洲午夜精品国产| 蜜桃久久av一区| 亚洲午夜女主播在线直播| 国产精品亚发布| 麻豆久久婷婷| 国产精品99久久久久久久女警| 久久se精品一区二区| 亚洲国产综合91精品麻豆| 欧美色精品天天在线观看视频| 午夜日韩视频| 亚洲国产老妈| 久久精品国产欧美激情| 亚洲人成在线观看| 国产欧美日韩亚州综合| 欧美激情二区三区| 香蕉尹人综合在线观看| 亚洲国产一二三| 久久精品99国产精品| 日韩午夜中文字幕| 韩国精品久久久999| 欧美日韩免费网站| 久久婷婷国产综合精品青草| 99国产精品99久久久久久粉嫩| 久久青草久久| 亚洲一区二区黄色| 亚洲韩国青草视频| 国产日韩视频一区二区三区| 欧美精品三级| 老色批av在线精品| 欧美一级专区| 亚洲香蕉网站| 99国内精品久久| 欧美福利一区二区| 久久综合99re88久久爱| 欧美久久一区| 久久国产精品一区二区三区四区| 日韩一本二本av| 亚洲成色精品| 久久婷婷亚洲| 午夜在线精品| 中国成人黄色视屏| 亚洲啪啪91| 亚洲成色999久久网站| 国产乱码精品一区二区三区忘忧草| 欧美电影免费观看网站| 久久一日本道色综合久久| 午夜精品久久久久久久| 亚洲网站在线观看| 亚洲乱码一区二区| 亚洲级视频在线观看免费1级| 欧美jizz19性欧美| 欧美a级大片| 免费在线观看一区二区| 久久精品国亚洲| 久久久国产91| 老司机免费视频久久 | 99视频有精品| 亚洲精品之草原avav久久| 亚洲片区在线| 99精品视频免费观看| 亚洲精品久久久久久下一站 | 亚洲精品小视频| 亚洲精品黄网在线观看| 亚洲精品在线免费| 亚洲香蕉在线观看| 亚洲欧美日韩中文视频| 欧美在线观看一区二区| 久久av资源网| 免费日韩av| 欧美欧美全黄| 国产精品久久久一区二区| 国产美女一区| 尤妮丝一区二区裸体视频| 激情综合色综合久久| 最新69国产成人精品视频免费| 亚洲国产精品福利| 中文精品视频一区二区在线观看| 亚洲影音先锋| 久久夜色精品国产欧美乱| 欧美福利专区| 99re视频这里只有精品| 亚洲欧洲99久久| 久久午夜国产精品| 欧美日韩一区二区在线播放| 国产欧美一区二区精品仙草咪 | 裸体一区二区| 亚洲激精日韩激精欧美精品| 中文在线不卡| 亚洲精品免费电影| 欧美日韩视频在线观看一区二区三区| 麻豆精品视频在线| 国产精品美女久久久| 久久久久久久久久久久久久一区| 亚洲激情在线视频| 欧美成人69av| 在线观看视频亚洲| 国产精品专区h在线观看| 亚洲裸体在线观看| 小黄鸭视频精品导航| 亚洲精品国产精品乱码不99 | 亚洲最快最全在线视频| 欧美激情精品久久久久久变态| 欧美亚洲一区| 午夜国产精品视频| 午夜精品一区二区三区在线视| 亚洲特色特黄| 久久国产精品99精品国产| 亚洲综合视频网| 欧美专区18| 久久乐国产精品| 久久深夜福利免费观看| 久久久久国产成人精品亚洲午夜| 亚洲欧美乱综合| 久久成年人视频| 99re66热这里只有精品4 | 欧美偷拍另类| 国产视频亚洲| 一区二区激情视频| 午夜一区二区三区在线观看 | 日韩视频在线播放| 亚洲自拍偷拍网址| 久久久国产精品一区| 欧美日韩高清免费| 国产精品免费福利| 国产精品久久一级| 亚洲国产女人aaa毛片在线| 一区二区三区日韩精品视频| 久久久噜噜噜久久中文字免| 亚洲国产成人久久| 性色av一区二区三区红粉影视| 欧美日韩八区| 精品动漫3d一区二区三区免费| 亚洲三级网站| 久久综合九色综合久99| 一区二区电影免费观看| 亚洲激情在线视频| 亚洲欧美国产视频| 欧美日韩视频一区二区| 亚洲国产精品久久91精品| 久久久精彩视频| 亚洲男人第一av网站| 欧美午夜片在线观看| 宅男噜噜噜66国产日韩在线观看| 亚洲欧洲日韩女同| 欧美成人免费全部| 亚洲欧洲日本在线|