• <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>

            zhujian

            揣著夢想騎驢找馬但不虐待驢
            posts - 10, comments - 7, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            pimp idiom降低程序偶合

            Posted on 2011-01-16 16:42 逐漸 閱讀(1593) 評論(0)  編輯 收藏 引用
            pimp idiom的詳細說明可以訪http://www.gotw.ca/gotw/024.htm(這個網站好像被墻了,很諷刺),其實就是將定義與實現分開。

            在我博客上一篇隨筆《關于高內聚低偶合》提到的問題,pimp idiom對降低程序偶合有一定的幫助,下面是我的理解思路,大家有好的意見或者更好的方法可以一起討論下:

             1 class Para_Base
             2 {
             3     //
             4 };
             5 
             6 class GA_Para
             7     :public Para_Base
             8 {
             9     //
            10 };
            11 
            12 class Alg_Base
            13 {
            14 public:
            15     Alg_Base(Para_Base *p)
            16         :m_pPara(p) { }
            17     //
            18 protected:
            19     Para_Base *m_pPara;
            20 };
            21 
            22 class GA_Alg
            23     :public Alg_Base
            24 {
            25     //    
            26 public:
            27     GA_Alg(GA_Para *pGA)
            28         :Alg_Base(pGA) { }
            29 };

            參數基類Para_Base和特定的算法參數類GA_Para都沒有改變。

            算法基類Alg_Base的模板去掉了,同時添加了一個指向參數基類Para_Base的指針成員變量,而以前用的是模板指針。并且修改了構造函數,構造函數接受一個指向Para_Base的指針并賦給m_pPara。

            特定算法類GA_Alg繼承自算法基類Alg_Base,但修改了構造函數,接受指向GA_Para的一個指針,然后調用父類Alg_Base的構造函數,這樣的結果便是m_pPara指向的是GA_Para實例,等價于Para_Base *m_pPara = new GA_Para();

            相對于上一篇提到的模板實現,pimp idiom的偶合更低些,而且pimp idiom應用也非常廣泛。
            亚洲人成网亚洲欧洲无码久久| 99久久精品免费看国产免费| 一级做a爱片久久毛片| 亚洲欧美伊人久久综合一区二区 | 国产精品免费久久久久影院| 亚洲精品国精品久久99热一| 欧美一级久久久久久久大片| 精品久久久久久无码人妻蜜桃| 久久综合综合久久狠狠狠97色88| 97久久久久人妻精品专区| 久久精品亚洲中文字幕无码麻豆| 亚洲精品蜜桃久久久久久| 久久精品国产亚洲AV久| 无码专区久久综合久中文字幕 | 日本精品久久久久中文字幕| 日韩精品久久久久久| 久久99精品久久久久久9蜜桃| 精品久久久久久无码人妻热| 久久久久久亚洲精品不卡| 久久中文精品无码中文字幕| 美女久久久久久| 午夜欧美精品久久久久久久| 久久精品亚洲日本波多野结衣 | 亚洲欧美伊人久久综合一区二区 | 国内精品伊人久久久久AV影院| 99久久国产热无码精品免费| 中文精品久久久久国产网址| 国产综合精品久久亚洲| 久久久久久久波多野结衣高潮| 日韩AV无码久久一区二区 | 久久99亚洲网美利坚合众国| 久久免费高清视频| 婷婷久久综合| 久久夜色精品国产噜噜噜亚洲AV | 国产成人无码精品久久久免费| 亚洲国产婷婷香蕉久久久久久| 香蕉久久av一区二区三区| 久久99国产一区二区三区| 男女久久久国产一区二区三区| 亚洲一区二区三区日本久久九| 区久久AAA片69亚洲|