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

隨筆 - 45  文章 - 129  trackbacks - 0
<2006年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

專注于C++ P2P STL GP OpenSource等
Google

常用鏈接

留言簿(10)

隨筆分類

隨筆檔案

相冊(cè)

朋友

  • .NET

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

前不久閱讀了一下?Andrei Alexandrescu的大作《Modern C++ Design》,深受啟發(fā)。現(xiàn)寫一些讀后感,一個(gè)是促進(jìn)自己學(xué)習(xí),二者是希望大家交流,拋磚引玉。

說到底Policy Based Class Design是基于Templete模版的Templete組件設(shè)計(jì)技術(shù),就是用內(nèi)Templete來作為Policy為外Templete提供可配置的服務(wù)。

例如:

?template? < ? class ??T,Template? < ? class ? > ??? class ???Policy1,Template? < ? class ? > ? class ??Policy2?? > ?
?
class ??PolicyBasedClass: public ?Policy1? < ?T? > ?, public ?Policy2? < ?T? > ?
???
{
}
?


當(dāng)然Policy1也可以不依賴于模版T。同樣Policy2也可以。這樣也當(dāng)然也可以。

?

?template? < ? class ??T,? class ???Policy1, class ??Policy2?? > ?
?
class ??PolicyBasedClass: public ?Policy1?, public ?Policy2
{
}
?

?

當(dāng)然第一個(gè)例子更加具有通用性。

這樣你可以代入不同的Policy Class,來改變PolicyBasedClass的行為。

而所有的配置都是在編譯階段完成的,而不是RunTime,所以沒有任何的性能損失。

有人說,我可以加個(gè)參數(shù),對(duì)這個(gè)Class做重載,當(dāng)然是可以的,而且可以獲得運(yùn)行時(shí)刻的靈活性,當(dāng)然系統(tǒng)的開銷相對(duì)也會(huì)大一些。

所以個(gè)人認(rèn)為,PolicyBasedClass更加適合于做一些Framework的工作。例如設(shè)計(jì)一個(gè)基礎(chǔ)的框架庫,這個(gè)技術(shù)就很實(shí)用。所以Loki也是這樣子的一個(gè)庫。

namespace ?SHFTest
{
????template?
< class ?T >
????
struct ?OpNewCreator
????
{
????????
static ?T * ?Create()
????????
{
????????????
return ? new ?T;
????????}

????
protected :
????????
~ OpNewCreator() {} ;
????}
;

????template?
< class ?T >
????
struct ?MallocCreator
????
{
????????
static ?T * ?Create()
????????
{
????????????T
* ?buf? = ?(T * )std::malloc( sizeof (T));
????????????
if ?(? ! buf?)
????????????
{
????????????????
return ? 0 ;
????????????}

????????????
return ?buf;
????????}

????
protected :
????????
~ MallocCreator() {} ;
????}
;

????template?
< class ?T >
????
struct ?ProtypeCreator?
????
{
????
public :
????????T
* ?Create()
????????
{
????????????
return ? /* pPrototype_???pPrototype_->Clone()?: */ ? 0 ;
????????}


????????T
* ?GetPrototype()? {? return ?pPrototype_;?}

????????
void ?SetPrototype(T * ?pObj)? {?pPrototype_? = ?pObj;?}
????
protected :
????????
~ ProtypeCreator() {} ;
????
private :
????????T
* ?pPrototype_;
????}
;

????template
<
????????????
class ?T,
????????????template?
< class > ? class ?CreatePolicy? = ?OpNewCreator
????????????
>
????
class ?CommonObj: public ?CreatePolicy < T >
????
{
????
public :
????????CommonObj()
????????
{
????????????CreatePolicy
< T > ::Create();
????????}


????????
~ CommonObj() {}

????????
void ?Test()
????????
{
????????????std::cout
<< " Hello?World " ;
????????}

????
protected :
????}
;
}






int ?_tmain( int ?argc,?_TCHAR * ?argv[])
{
????typedef?SHFTest::CommonObj
< int ,SHFTest::ProtypeCreator > ?myProtypeObj;
????myProtypeObj?Testobj1;
????Testobj1.Test();

????typedef?SHFTest::CommonObj
< int > ?myObj;
????myObj?Testobj2;
????Testobj2.Test();

????
return ? 0 ;
}
以上是個(gè)人讀后感的,有什么不對(duì)的地方希望大家指正。

FeedBack:
# re: 關(guān)于Policy Based Class Design--《Modern C++ Design》讀后感一  2006-12-28 10:43 Francis Arcanum
templete < class T,Templete < class > class Policy1,Templete < class > class Policy2 >
class PolicyBasedClass:Policy1,Policy2
... {
}
這怎么能編譯通過。。  回復(fù)  更多評(píng)論
  
# re: 關(guān)于Policy Based Class Design--《Modern C++ Design》讀后感一  2006-12-29 10:09 shenhuafeng
@Francis Arcanum
只是做個(gè)示意而已,隨手寫的。
如果不需要用到Template Class T,應(yīng)該是這樣的。
template<
class T,
class Policy1,
class Policy2
>
class PolicyBasedClass:public Policy1,public Policy2
{
public:
PolicyBasedClass(){};
};  回復(fù)  更多評(píng)論
  
# re: 關(guān)于Policy Based Class Design--《Modern C++ Design》讀后感一  2007-08-12 00:54 magiceye
可惜policy的能力也是有限的,policies必須遵守一個(gè)隱含的constraint:接口必須一樣。如果你需要一些變化很大的配置,比如構(gòu)造函數(shù)的參數(shù)個(gè)數(shù)有變化,這種policy就無能為力了。  回復(fù)  更多評(píng)論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              欧美日韩精品一区| 欧美午夜精品久久久久久久 | 中国女人久久久| 亚洲激情不卡| 久久精品日韩欧美| 国产在线精品一区二区中文| 久久亚洲二区| 欧美多人爱爱视频网站| 亚洲午夜未删减在线观看| 亚洲久久成人| 国产乱肥老妇国产一区二| 欧美一区日本一区韩国一区| 久久精品国产欧美亚洲人人爽| 亚洲国产精品小视频| 亚洲国产精品一区二区三区| 欧美日韩国产a| 亚洲欧美日韩视频一区| 欧美一区激情| 亚洲伦理久久| 亚洲欧美综合精品久久成人| 红桃视频国产一区| 欧美激情第一页xxx| 欧美视频一二三区| 老司机精品导航| 欧美亚洲成人精品| 欧美成人按摩| 国产欧美精品一区aⅴ影院| 欧美成人在线网站| 欧美色精品天天在线观看视频 | 在线精品国精品国产尤物884a| 免费不卡在线观看| 欧美性一区二区| 欧美激情中文不卡| 国产欧美日本一区二区三区| 亚洲第一精品电影| 国产一区二区高清不卡| 亚洲精品字幕| 一区二区三区在线免费观看| 亚洲一二区在线| 亚洲精品美女久久久久| 亚洲一区图片| 亚洲图片欧美午夜| 欧美激情2020午夜免费观看| 噜噜噜噜噜久久久久久91| 国产精品magnet| 欧美激情精品久久久久久变态| 国产日韩精品一区二区浪潮av| 亚洲精品国产视频| 亚洲欧洲在线观看| 久久亚洲美女| 亚洲欧美成人网| 欧美精品一二三| 欧美激情一二区| 亚洲国产一区视频| 久久精品视频在线免费观看| 久久久久欧美| 国产视频精品免费播放| 亚洲一区二区精品视频| 亚洲欧美中文日韩v在线观看| 欧美日本国产| 最新日韩欧美| 亚洲精选91| 久久亚洲精品一区| 亚洲第一成人在线| 最新亚洲一区| 欧美久久99| 日韩天堂av| 亚洲午夜精品一区二区三区他趣| 欧美日韩三级一区二区| 亚洲精品日韩在线观看| 一本久道综合久久精品| 欧美了一区在线观看| 亚洲韩国精品一区| 99re亚洲国产精品| 性一交一乱一区二区洋洋av| 国产精品成人免费| 欧美亚洲视频| 麻豆精品在线播放| 最新国产の精品合集bt伙计| 欧美另类变人与禽xxxxx| 亚洲毛片av| 性8sex亚洲区入口| 国产精品久久久久久久久免费 | 欧美在线不卡视频| 激情一区二区三区| 欧美激情第二页| 亚洲一区二区三区四区五区午夜| 欧美在线一级va免费观看| 尤物在线观看一区| 欧美精品在线一区二区| 亚洲永久免费av| 免费在线成人av| 亚洲一二三区在线观看| 韩国三级在线一区| 欧美久久一区| 国产美女搞久久| 久久精品亚洲精品| 欧美激情精品久久久久久大尺度| 一区二区三区久久久| 国产精品乱码妇女bbbb| 欧美一区二区视频在线观看| 久久一区二区三区四区五区| 在线一区二区日韩| 韩国精品主播一区二区在线观看| 欧美精品国产一区二区| 午夜国产精品视频免费体验区| 可以免费看不卡的av网站| 亚洲精品日韩激情在线电影| 国产精品无码永久免费888| 欧美成人久久| 午夜视黄欧洲亚洲| 日韩视频中午一区| 欧美a级一区| 午夜精品福利一区二区三区av | 激情欧美亚洲| 欧美1级日本1级| 亚洲午夜成aⅴ人片| 亚洲高清不卡av| 久久久.com| 午夜精彩视频在线观看不卡| 亚洲国产日韩一区| 国产伦精品一区二区三区高清版| 性久久久久久久久| 亚洲午夜久久久久久久久电影院 | 亚洲风情在线资源站| 亚洲欧美色婷婷| 亚洲视频欧洲视频| 激情综合五月天| 国内外成人免费激情在线视频网站 | 极品尤物一区二区三区| 欧美午夜无遮挡| 欧美日韩国产小视频在线观看| 久久久久91| 久久久久五月天| 久久久久久久一区二区三区| 亚洲一区二区少妇| 一区二区三区视频在线| 国内精品视频久久| 国产精品中文字幕欧美| 国产精品视频男人的天堂| 国产精品极品美女粉嫩高清在线| 女女同性精品视频| 久久综合图片| 欧美不卡三区| 欧美精品18+| 欧美香蕉视频| 国产精品第2页| 欧美片在线观看| 母乳一区在线观看| 久久免费视频观看| 久久欧美中文字幕| 久久久久国产成人精品亚洲午夜| 久久人人超碰| 欧美激情精品| 国产精品xxxav免费视频| 欧美色区777第一页| 国产伦精品一区二区三区视频孕妇| 欧美日本精品在线| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 亚洲欧美日韩一区| 久久精品毛片| 久久精品99国产精品日本| 久久精品中文字幕一区| 一本到12不卡视频在线dvd| 久久久久久一区| 亚洲大片av| 夜夜嗨一区二区三区| 亚洲欧美日韩精品在线| 久久久久久97三级| 欧美激情国产日韩| 欧美日韩精品一区二区| 国产精品久久久久久久久免费桃花| 国产午夜精品一区理论片飘花| 在线视频国产日韩| 亚洲一区在线观看视频| 乱中年女人伦av一区二区| 亚洲精品男同| 久久精品国产亚洲精品| 欧美日本不卡高清| 一区视频在线| 亚洲欧美日韩在线| 欧美成人精品在线观看| 一区二区欧美日韩视频| 久久久久久亚洲精品杨幂换脸| 欧美色另类天堂2015| 国外精品视频| 一区二区三区欧美在线| 美女精品国产| 亚洲图片自拍偷拍| 欧美激情精品久久久久久变态 | 亚洲午夜女主播在线直播| 久热精品视频| 国产色综合久久| 一区二区三区不卡视频在线观看| 亚洲直播在线一区| 亚洲精品中文在线| 免费久久精品视频| 国内久久精品视频| 久久久久www| 午夜精品久久久久久久 |