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

隨筆 - 45  文章 - 129  trackbacks - 0
<2007年2月>
28293031123
45678910
11121314151617
18192021222324
25262728123
45678910

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

常用鏈接

留言簿(10)

隨筆分類

隨筆檔案

相冊

朋友

  • .NET

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

版權(quán)所有 未經(jīng)作者允許 不得用于商業(yè)用途 轉(zhuǎn)載請附帶這第一,二行
http://m.shnenglu.com/shenhuafeng/

Modern C++ Design的第一章就是Policy Based Class Design,可見該技術(shù)是整個Loki庫的設(shè)計基礎(chǔ).這種方式的優(yōu)點(diǎn)是能夠增加程序庫的彈性和提高復(fù)用性.
簡單來說就是,一個Policy Based Class由很多基本的Policy來組成的,每個Policy Class代表了該復(fù)雜類(相對復(fù)雜)類的某些行為或者特性.有點(diǎn)類似于類的繼承,當(dāng)然和類的繼承是不同的。
那么Policy Based Class有什么用呢?我們先看下面這個問題。
假如需要設(shè)計一個基礎(chǔ)庫,可能是基于某個特定領(lǐng)域的,那么庫的設(shè)計者就需要考慮這樣的問題,他需要將未來的可能的需求加以分類,抽象出層次,然后運(yùn)用OO思想,希望能夠構(gòu)造出一個開發(fā)的結(jié)構(gòu),當(dāng)然其中的component的設(shè)計當(dāng)然是越是靈活越好。
用傳統(tǒng)的OO設(shè)計思想,可能可以設(shè)計出一套非常完善的類庫 ,可能包羅萬象。當(dāng)然的對于應(yīng)用開發(fā)人員需要花很多時間去學(xué)習(xí)這個“包羅萬象”的基礎(chǔ)類庫。而且往往這樣的基礎(chǔ)庫不是通用性不強(qiáng)就是限制條件太多(例如MFC)可以說就是這樣一種類型的庫。

下面要展示一下運(yùn)用多重繼承以及Templetes來實(shí)現(xiàn)的policy class,舉一個簡單的例子:
假如我們需要發(fā)明一個燈,它有不同的種類,有使用不同能源的工作方式以及有不同的操作方式,如果運(yùn)用

policy based class來設(shè)計的話,可能是這樣的結(jié)構(gòu):

?1 templete <
?2 ???? class ?T,
?3 ????templete? < class > ? class ?Work,
?4 ????templete? < class > ? class ?OpMethod
?5 >
?6 class ?Light
?7 ????: public ?Work < T > ,
?8 ????????OpMethod < Light >
?9
10 {
11 ????T * ?xxOp()
12 ???? {
13 ???????? if (Work(T).Status? == ?ACMODE)
14 ????????????OpMethod( * this );
15 ????}

16 }


當(dāng)你實(shí)例化一個Policy Based Class的時候,你還可以給出默認(rèn)的實(shí)現(xiàn),就像成員函數(shù)聲明和定義時候給出的默認(rèn)參數(shù)一樣。

回頭來看一下多重繼承和Templetes的特性:
多重繼承:欠缺一種一成不變的可以套用的代碼,在某種受控的情況下將繼承的Class組合起來(多重繼承只是將他們放在一起,然后提供一種訪問方式)。Templetes:有這樣的特性。
多重繼承由于繼承自多個Base Class,所以型別信息缺乏,而Templetes正式基于型別的。
多重繼承容易擴(kuò)張,而Templetes的特化不容易擴(kuò)張。

正是兩項(xiàng)技術(shù)的互補(bǔ),才使這樣的技術(shù)實(shí)現(xiàn)成為可能。
Light對象繼承多個policy class,使得特性得以在編譯期間定值,從而實(shí)現(xiàn)Light Class功能的擴(kuò)張。
而Templetes技術(shù)使得大部分Work以及OpMethod能夠共享大部分基礎(chǔ)代碼,而對特定的版本實(shí)現(xiàn)定值。

這樣的好處就是,應(yīng)用程序開發(fā)人員得以在應(yīng)用設(shè)計時期,使用這些Class,選擇適合自己的Policy組裝自己的代碼,從而使得程序大小得以精減,運(yùn)行速率得以提高,而不必去包含整個又大又全的基礎(chǔ)類庫。

以上只是一些學(xué)習(xí)的心得和體會,如果有不對的地方,希望大家多多指教。


FeedBack:
# re: Modern C++ Design 學(xué)習(xí)筆記之Policy Based Class Design 2006-09-14 09:24 夢在天涯
LOki boost 是c++的精華,很值的學(xué)習(xí),非常感謝能跟大家分享  回復(fù)  更多評論
  
# re: Modern C++ Design 學(xué)習(xí)筆記之Policy Based Class Design 2006-09-14 09:39 CPP&&設(shè)計模式小屋
恩 先學(xué)習(xí)一下loki庫 然后再研究研究Boost庫。  回復(fù)  更多評論
  
# re: Modern C++ Design 學(xué)習(xí)筆記之Policy Based Class Design 2006-09-30 10:09 空明流轉(zhuǎn)
在Policy-base的設(shè)計中,大部分的Policy不一定要被繼承的,因?yàn)镻olicy表達(dá)的是一種供選擇的行為,而很多供選擇的行為都可能是純功能性的,使用“委托”便能輕松完成這一工作,只有當(dāng)Policy需要深入了解它的生成類的情況的時候(例如Creator這樣的構(gòu)造選擇子),才需要繼承。  回復(fù)  更多評論
  
# re: Modern C++ Design 學(xué)習(xí)筆記之Policy Based Class Design 2007-09-04 09:05 螞蟻終結(jié)者
Loki庫確實(shí)經(jīng)典,不過偶還連STL源碼剖析都沒時間看完呢  回復(fù)  更多評論
  

只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   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>
              有码中文亚洲精品| 欧美日韩中文字幕在线| 欧美成人精品一区二区三区| 在线成人欧美| 国产亚洲免费的视频看| 国产精品二区二区三区| 欧美激情一区二区在线| 欧美极品影院| 欧美日本在线视频| 欧美日韩在线一区二区| 欧美日韩视频一区二区三区| 欧美大色视频| 欧美深夜福利| 国产日韩一区欧美| 亚洲第一网站| 夜夜嗨av一区二区三区网站四季av| 亚洲国产99| 亚洲视频观看| 久久精品国产一区二区电影| 久久国产精品高清| 欧美刺激午夜性久久久久久久| 久久嫩草精品久久久精品一| 巨乳诱惑日韩免费av| 欧美成人一二三| 一区二区三区日韩欧美精品| 中文一区二区在线观看| 欧美亚洲综合网| 欧美福利视频在线| 国产精品综合av一区二区国产馆| 韩国一区二区在线观看| 亚洲国内自拍| 欧美一二三区在线观看| 欧美激情精品久久久久久| 一本一本久久a久久精品牛牛影视| 亚洲一区二区三区视频| 久久国产66| 亚洲一区二区三区久久| 欧美在线视频在线播放完整版免费观看| 狂野欧美一区| 国产欧美日韩精品在线| 亚洲欧美韩国| 中文国产亚洲喷潮| 欧美日韩成人在线观看| 国内精品嫩模av私拍在线观看| 在线一区二区三区做爰视频网站| 欧美韩国日本一区| 欧美一区二区日韩| 国产一区二区久久精品| 欧美亚洲一区二区在线| 亚洲午夜羞羞片| 国产精品网站一区| 久久精品观看| 久久久久久夜| 亚洲国产精品久久久| 奶水喷射视频一区| 久久综合久久综合九色| 亚洲精品国产精品国自产观看浪潮 | 亚洲永久字幕| 亚洲国产精品欧美一二99| 老司机午夜精品视频| 91久久亚洲| 中文久久精品| 亚洲电影自拍| 亚洲小说欧美另类婷婷| 黑人一区二区| 亚洲国产成人tv| 欧美三级小说| 老司机aⅴ在线精品导航| 欧美精品一卡二卡| 欧美专区18| 麻豆91精品| 午夜国产精品影院在线观看| 欧美一级专区免费大片| 亚洲国产美女久久久久| 亚洲欧美电影在线观看| 91久久精品国产| 亚洲一二三区视频在线观看| 久久九九久久九九| 裸体女人亚洲精品一区| 欧美激情精品久久久久久变态 | 一区二区三区四区国产| 国产精品视频免费一区| 最近看过的日韩成人| 亚洲欧美日本在线| 在线观看久久av| 欧美金8天国| 欧美在线观看视频一区二区三区| 欧美高清视频在线观看| 亚洲午夜一区二区| 精品99视频| 日韩午夜一区| 国产精品嫩草99av在线| 免费观看不卡av| 亚洲综合视频在线| 亚洲狠狠婷婷| 久久综合五月| 亚洲尤物影院| 最新国产拍偷乱拍精品 | 欧美一区二区精美| 亚洲精品日韩在线观看| 免费在线欧美视频| 午夜在线一区| 亚洲天堂男人| 一区二区免费在线播放| 黑丝一区二区| 国内一区二区三区| 国产精品夜夜嗨| 国产精品成人国产乱一区| 久久综合色天天久久综合图片| 中日韩高清电影网| 一本色道久久综合一区| 亚洲免费成人av| 亚洲蜜桃精久久久久久久| 亚洲欧洲精品一区二区三区| 久久一区二区三区av| 久久久7777| 久久手机精品视频| 美女主播精品视频一二三四| 久久―日本道色综合久久| 欧美在线播放一区| 欧美在线免费观看视频| 午夜欧美视频| 久久久水蜜桃av免费网站| 欧美在线视频观看免费网站| 国产区精品视频| 国内精品久久久久久久影视蜜臀| 国产精品毛片va一区二区三区 | 欧美福利小视频| 欧美电影电视剧在线观看| 欧美电影打屁股sp| 亚洲视频免费| 欧美大尺度在线| 免费视频最近日韩| 亚洲视频在线一区观看| 国产欧美日韩亚洲一区二区三区 | 亚洲人精品午夜| 欧美在线观看一区二区| 久久精品在这里| 影音先锋国产精品| 欧美精品videossex性护士| 欧美一二三区在线观看| 亚洲午夜久久久久久久久电影院| 欧美aⅴ99久久黑人专区| 久久久久久久综合狠狠综合| 毛片av中文字幕一区二区| 欧美激情第五页| 国产亚洲欧洲一区高清在线观看| 激情综合视频| av成人天堂| 久久久久久亚洲精品不卡4k岛国| 欧美成人精品| 久久午夜国产精品| 亚洲精品欧美精品| 久久不射2019中文字幕| 欧美激情女人20p| 欧美岛国激情| 一区二区三区在线视频播放| 亚洲手机视频| 亚洲激情在线观看| 久久av一区二区三区亚洲| 欧美精品电影| 在线不卡视频| 久久久久久网站| 欧美亚洲免费| 国产精品人成在线观看免费| 亚洲人成精品久久久久| 久久夜色精品国产亚洲aⅴ| 99日韩精品| 久久久夜色精品亚洲| 国产色产综合色产在线视频| 亚洲精品在线看| 亚洲国产精品一区| 欧美黄色免费网站| 91久久久久| 亚洲人精品午夜| 欧美高清视频一区二区| 久久高清免费观看| 很黄很黄激情成人| 久久一区二区视频| 另类国产ts人妖高潮视频| 国产精品亚洲成人| 久久国产日韩| 美女精品在线| 亚洲自拍16p| 久久精品国产2020观看福利| 国产综合视频在线观看| 免播放器亚洲一区| 欧美激情区在线播放| 亚洲一区二区三区四区在线观看 | 一本色道久久综合亚洲精品不卡 | 久久婷婷国产综合尤物精品 | 久久综合99re88久久爱| 亚洲成色精品| 亚洲午夜视频| 一区二区亚洲欧洲国产日韩| 欧美成人自拍| 国产精品久久久亚洲一区| 久久精品夜色噜噜亚洲a∨ | 午夜精彩国产免费不卡不顿大片| 国产亚洲视频在线|