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

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 編程 閱讀(730) 評論(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>
            亚洲欧美精品一区| 亚洲欧美电影院| 久久久亚洲国产天美传媒修理工| 欧美久久99| 一本大道久久a久久综合婷婷 | 精品成人在线视频| 一区二区日韩伦理片| 亚洲黄色免费| a91a精品视频在线观看| 亚洲激情社区| 国产精品麻豆成人av电影艾秋 | 久久影院午夜片一区| 亚洲国产精品t66y| 美女国产一区| 欧美一区三区三区高中清蜜桃| 亚洲黄色影院| 亚洲精品在线视频| 亚洲中无吗在线| 亚洲一区二区三区国产| 欧美激情在线播放| 亚洲少妇自拍| 亚洲影院高清在线| 亚洲国产成人在线| 蜜臀a∨国产成人精品| 欧美视频精品在线观看| 在线成人性视频| 欧美激情在线观看| 久久久不卡网国产精品一区| 黑人巨大精品欧美一区二区小视频 | 亚洲午夜av电影| 久久亚洲一区| 国产精品理论片在线观看| 国产美女精品| 亚洲国产精品久久久久婷婷老年| 日韩亚洲欧美高清| 久久视频一区| 在线一区二区三区做爰视频网站| 久久九九全国免费精品观看| 欧美日本不卡| 在线看国产一区| 欧美一区二区视频免费观看| 亚洲风情在线资源站| 亚洲影视在线播放| 欧美激情一区二区三区在线视频 | 夜夜嗨av一区二区三区| 久久久久久综合| 国产精品美腿一区在线看 | 欧美在线免费视屏| 国产精品成人观看视频免费 | 久久久高清一区二区三区| 欧美成人中文| 欧美一区二区视频观看视频| 欧美日韩裸体免费视频| 亚洲人被黑人高潮完整版| 久久精品人人做人人综合| 99热这里只有精品8| 国产日韩精品久久| 亚洲国产精品欧美一二99| 性欧美xxxx大乳国产app| 国产精品理论片在线观看| 日韩网站在线| 亚洲国产导航| 美日韩精品免费观看视频| 国产一区二区三区在线播放免费观看| 亚洲欧美区自拍先锋| 一区二区av| 欧美日韩综合精品| 亚洲视频第一页| 亚洲国产裸拍裸体视频在线观看乱了| 久久亚洲国产精品日日av夜夜| 国产日韩欧美在线看| 久久国产婷婷国产香蕉| 久久大逼视频| 在线观看视频日韩| 欧美高清免费| 欧美激情一区二区三区高清视频| 亚洲欧洲精品一区| 亚洲精品国产视频| 久久国产婷婷国产香蕉| 一区二区三区在线视频播放 | 亚洲精品一区二区三| 欧美精品在线免费播放| 亚洲天堂av在线免费| 中文高清一区| 国内精品免费在线观看| 欧美成人免费在线| 欧美巨乳波霸| 久久国产99| 久久综合狠狠| 在线午夜精品自拍| 午夜视频在线观看一区二区三区| 永久久久久久| 亚洲伦理一区| 韩日成人在线| 99re国产精品| 韩国一区二区三区美女美女秀| 亚洲高清在线播放| 久久久久久亚洲精品不卡4k岛国| 一区精品在线| 99国内精品久久| 韩国一区二区在线观看| 亚洲高清色综合| 国产精品美女久久久久av超清 | 日韩一级二级三级| 鲁大师影院一区二区三区| 欧美午夜精品久久久久久人妖| 欧美激情精品久久久久久变态| 黄网动漫久久久| 久久精品五月婷婷| 久久嫩草精品久久久精品| 国产午夜精品视频| 久久久国产一区二区三区| 久久久在线视频| 国产精品午夜视频| 午夜精品久久| 国产精品中文字幕欧美| 亚洲成在人线av| 国产精品久久久久久久第一福利| 麻豆精品视频在线观看| 国产精品久久久久国产a级| 欧美激情精品久久久久久蜜臀| 国产精品久久久久影院亚瑟| 欧美国产日本在线| 国产精品亚洲第一区在线暖暖韩国| 欧美电影免费| 国产一区二区三区免费观看| 亚洲视频精选| 一本色道久久综合一区| 国产热re99久久6国产精品| 欧美中文字幕在线观看| 亚洲一区国产精品| 欧美日韩国产限制| 欧美国产日韩一二三区| 一色屋精品视频在线看| 欧美一级理论片| 欧美一区二区三区视频在线观看| 欧美日韩精品免费在线观看视频| 欧美激情亚洲综合一区| **欧美日韩vr在线| 久久免费的精品国产v∧| 久久综合久久88| 精品二区视频| 免费成人高清视频| 女女同性精品视频| 亚洲国产欧美日韩另类综合| 玖玖玖国产精品| 亚洲丰满少妇videoshd| 在线免费观看视频一区| 久久久亚洲国产天美传媒修理工 | 欧美日韩国产一区| 亚洲国产精品嫩草影院| 亚洲精品视频在线播放| 欧美国产1区2区| 亚洲乱码国产乱码精品精| 夜夜嗨av一区二区三区中文字幕| 欧美日韩激情小视频| 一区二区电影免费观看| 亚洲图片欧美一区| 理论片一区二区在线| 亚洲裸体俱乐部裸体舞表演av| 亚洲欧美成人| 国产精品毛片a∨一区二区三区|国 | 蜜臀99久久精品久久久久久软件| 激情五月婷婷综合| 亚洲综合色激情五月| 亚洲福利在线视频| 欧美伊人久久| 欧美国产日韩a欧美在线观看| 亚洲国产精品99久久久久久久久| 欧美激情精品久久久久久大尺度| 日韩视频在线观看国产| 欧美中文在线免费| 亚洲福利一区| 国产精品你懂得| 久久久一区二区| 亚洲经典在线| 欧美一区二区三区在| 亚洲黄一区二区| 国产精品一国产精品k频道56| 午夜在线观看免费一区| 亚洲国产日韩欧美| 欧美一区日韩一区| 亚洲美女尤物影院| 国产亚洲精品久久飘花| 欧美精品入口| 久久精品视频免费| 亚洲一级黄色| 亚洲国产一二三| 久久九九国产精品| 亚洲一区二区三区视频| 国产综合婷婷| 国产精品久久久久久福利一牛影视| 久久国产乱子精品免费女| 亚洲最新在线视频| 亚洲第一在线综合在线| 久久免费视频在线观看| 亚洲一区二区免费看| 亚洲免费不卡| 亚洲电影免费观看高清完整版在线观看| 国产精品视频免费在线观看|