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

Beginning to 編程

VC++ 方面編程文章

 

資源和資源管理類的設計問題


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

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

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

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

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

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

2. 如果我在具體類 ConcreateResourceManager 聲明 createConcreateRes函數
那么就白費了我應用設計模式設計這么多類


// 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 編程 閱讀(734) 評論(1)  編輯 收藏 引用 所屬分類: 程序摘錄

評論

# re: 資源和資源管理類的設計問題 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(...) 只是創建一個占位符,但是還沒有load。
設計基類Resource的目的,是為了可以重用ResourceManager對資源的管理代碼,不是給你用的。
至于對具體資源的引用和載入,是留給具體的ResourceManager來實現的。因此你要創建Pen,應該這么做:PenPtr p = PenManager::singleton().load(...)。而不是:PenPtr p = (PenPtr)ResourceManager::singleton().create(...)。  回復  更多評論   

導航

統計

常用鏈接

留言簿(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>
            韩国一区二区三区美女美女秀| 欧美日韩国产一中文字不卡| 亚洲日本va在线观看| 国产精品视频一| 欧美三级日韩三级国产三级| 久久综合色综合88| 久久琪琪电影院| 老司机aⅴ在线精品导航| 欧美中文在线观看| 亚洲欧美日韩一区二区三区在线| 亚洲美女91| 亚洲主播在线| 亚洲精品一二区| 亚洲美女中出| 欧美一区二视频| 欧美gay视频| 亚洲午夜国产成人av电影男同| 亚洲最黄网站| 欧美激情第二页| 久久成人在线| 亚洲国产视频一区| 亚洲综合色激情五月| 欧美亚洲综合在线| 欧美精品在线视频| 国产九九精品| 亚洲一区二区三区中文字幕在线| 久久精品一区蜜桃臀影院| 亚洲精品视频一区二区三区| 午夜在线观看免费一区| 欧美日韩人人澡狠狠躁视频| 国产视频一区免费看| 日韩一区二区免费高清| 老司机aⅴ在线精品导航| 亚洲综合视频一区| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 亚洲午夜精品在线| 久久精品99无色码中文字幕| 免费亚洲一区二区| 欧美a级大片| 欧美sm重口味系列视频在线观看| 亚洲精品一区二区三区樱花| 亚洲高清不卡一区| 欧美大尺度在线| 亚洲欧美日韩中文在线制服| 伊人久久av导航| 久久久噜噜噜久久久| 亚洲精品小视频| 久久在线免费观看| 亚洲国产成人不卡| 亚洲美女在线视频| 午夜视频在线观看一区二区三区| 国产精品国产三级国产a| 亚洲精品乱码久久久久久日本蜜臀| 亚洲激情欧美| 亚洲经典在线| 欧美一区二区高清在线观看| 亚洲激情一区二区| 欧美亚洲综合久久| 欧美日本不卡视频| 亚洲精品中文字幕在线| 欧美激情第8页| 亚洲女人天堂av| 国产精品入口麻豆原神| 亚洲一区二区在线视频 | 亚洲欧洲一区二区在线播放| 欧美在线视频a| 日韩视频免费看| 小黄鸭精品aⅴ导航网站入口| 亚洲国内欧美| 久久精品成人一区二区三区| 亚洲破处大片| 久久一区中文字幕| 在线中文字幕一区| 久久久久国产精品人| 亚洲福利在线看| 在线视频日本亚洲性| 亚洲欧美日本国产有色| 国产日韩欧美精品| 欧美激情一区二区三区在线视频| 欧美激情a∨在线视频播放| 久久九九精品99国产精品| 欧美午夜免费影院| 一区二区三区精品| 在线视频精品| 国产精品久久毛片a| 亚洲一区二区三区在线观看视频 | 在线观看不卡av| 亚洲国产成人久久综合一区| 国产精品亚洲综合天堂夜夜| 久久久青草婷婷精品综合日韩| 免费在线国产精品| 亚洲裸体视频| 久久精品一区二区| 亚洲永久免费精品| 欧美激情精品久久久久久蜜臀| 欧美在线视频不卡| 国产一区二区三区的电影| 99精品免费| 亚洲视频一区在线| 欧美久久久久久| 亚洲成人资源网| 亚洲国产精品久久91精品| 久久成人精品无人区| 午夜影院日韩| 久久精品二区亚洲w码| 一区在线免费观看| 亚洲欧美日韩一区二区| 久久久亚洲国产天美传媒修理工 | 国产精品国产馆在线真实露脸| 久久噜噜噜精品国产亚洲综合 | 国产精品久久久久久久久久久久| 久久五月天婷婷| 国产香蕉久久精品综合网| 亚洲精品一区在线观看| 亚洲福利视频一区二区| 久久精品久久综合| 亚洲黄色免费电影| 亚洲欧美日韩综合国产aⅴ| 国产精品久久国产三级国电话系列 | 欧美成人首页| 免费成人美女女| 欧美亚洲一区三区| 日韩亚洲欧美一区二区三区| 欧美成人国产| 亚洲人成啪啪网站| 国产精品99久久久久久人 | 欧美日韩播放| 一区二区三区久久久| 久久久欧美一区二区| 夜夜嗨网站十八久久| 在线欧美日韩| 狠狠狠色丁香婷婷综合久久五月 | 99这里只有精品| 在线性视频日韩欧美| 国产在线乱码一区二区三区| 久久在线视频在线| 亚洲一区二区三区四区五区午夜| 最新69国产成人精品视频免费| 久久中文字幕一区二区三区| 欧美成人69av| 99精品免费| 亚洲午夜激情在线| 亚洲国产欧美在线人成| 国内精品99| 精品69视频一区二区三区| 在线精品在线| 亚洲理伦电影| 日韩亚洲欧美精品| 99视频一区| 久久精品最新地址| 久久久噜噜噜| 亚洲国产精品成人综合| 欧美激情在线有限公司| 免费看黄裸体一级大秀欧美| 欧美国产视频日韩| 制服丝袜激情欧洲亚洲| 亚洲欧美日韩中文视频| 日韩五码在线| 久久久精彩视频| 国产精品高潮呻吟| 亚洲欧洲一区二区三区| 一区二区冒白浆视频| 欧美一区三区二区在线观看| 噜噜噜91成人网| 亚洲成色777777在线观看影院| 亚洲伦理在线免费看| 欧美一区二区三区精品| 欧美日韩亚洲视频| 亚洲激情网站免费观看| 亚洲欧美在线看| 亚洲精品1区| 欧美三级黄美女| 欧美一区二区三区的| 中文精品视频一区二区在线观看| 欧美另类高清视频在线| 亚洲一区二区精品| 久久婷婷国产麻豆91天堂| 99国产一区| 亚洲国产精品成人精品| 欧美日韩高清在线| 亚洲一二三区精品| 亚洲人妖在线| 欧美电影免费观看高清| 欧美日韩精品中文字幕| 亚洲曰本av电影| 亚洲免费视频观看| 国产一区二区三区奇米久涩| 麻豆精品国产91久久久久久| 久久精品91| 亚洲国产精品久久久| 亚洲视频欧美视频| 国产精品免费网站在线观看| 麻豆成人av| 欧美午夜不卡影院在线观看完整版免费| 亚洲一区在线免费| aa国产精品| 亚洲美女啪啪| 一区二区三区黄色| 亚洲人被黑人高潮完整版| 亚洲区在线播放|