• <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>
            句柄類是存儲和管理基類指針的一個類
            需要句柄類的背景:
            1)在對安全要求很高的領域,即使核心實現已經封閉在庫中不可見,但頭文件中變量定義仍可能曝露一些內部信息
            2)在設計初期、實現部分會經常變動,甚至頭文件中變量定義也需要經常變動,因此在重編譯的時候頭文件也需要編譯,
            有時候導致編譯時間過長。
            句柄類就是為了解決這類問題
            // Handle.h
            class Implement; //這里是對真正實現功能的類的聲明

            class ImplementHandle //這是Implement類的句柄類
            {
            public:
            ImplementHandle():lpImplementInstance(NULL){lpImplementInstance = new Implement;}
            ~ImplementHandle(){ delete lpImplementInstance ;}
            public:
            // Interface_FOO() 是句柄類提供的接口,它的真正實現是在Implement類里面,而這個僅僅是接口"代理"
            RE_TYPE Interface_FOO()
            {
            return lpImplementInstance->FOO
            _
            Implementation(); //句柄代理調用實現真正的FOO接口
            }
            //還有其他的接口也一樣,均是用句柄類代理接口
            //....
            private:
            Implement * lpImplementInstance; //這個是句柄類唯一的數據成員(當然,并不一定),可以被句柄類很好地自動管理
            };




              被封裝在句柄類里面的真正實現(class Implement)將與用戶隔離開來,就是說,就算以后Implement 類的實現有所改變,
            只要它提供的接口不變,那么它的句柄類就不會改變,而包含句柄類的用戶,也不用做任何相應的改變(所有包含 “Handle.h”的模塊甚至不用從新編譯就可以正常更新至最新的Implement實現)。

            例如
            #include "Handle.h"
            Imlementhandle testhandle;
            testhandle->Interface_Foo();//調用接口即可。
            如果改動了Implent類的方法

              于此相反,如果直接用class Implement 的定義,那么只要Implement類的定義有所改變(不管是public 還是private 成員
            的更新),那么所有包含它的頭文件的模塊都要從新編譯一次。

            這其實就是接口與實現的分離,


            Posted on 2008-10-07 16:13 micheal's tech 閱讀(1171) 評論(0)  編輯 收藏 引用 所屬分類: C++ programme language設計模式
            亚洲国产欧洲综合997久久| 99久久精品国产一区二区| 国产精品岛国久久久久| 免费观看久久精彩视频| 国产精品久久久久久久久久影院| 久久久久久A亚洲欧洲AV冫| 久久综合色区| 91精品国产91久久综合| 久久影院久久香蕉国产线看观看| 免费精品久久天干天干| 秋霞久久国产精品电影院| 久久久久久久免费视频| 久久久久一区二区三区| 无码人妻精品一区二区三区久久| 99久久精品国产一区二区蜜芽 | 无码精品久久久久久人妻中字| 国产精品99久久精品| 亚洲欧美伊人久久综合一区二区| 88久久精品无码一区二区毛片| 午夜欧美精品久久久久久久| 深夜久久AAAAA级毛片免费看| 亚洲国产精品久久久久久| 亚洲色大成网站WWW久久九九| 精品综合久久久久久88小说| 国产精品久久久久aaaa| 无码国内精品久久人妻蜜桃| 国产精品99久久久久久宅男小说| 精品久久久久久久久久中文字幕 | 99久久精品免费看国产一区二区三区| 蜜桃麻豆www久久| 精品久久香蕉国产线看观看亚洲| 亚洲AV无码久久精品色欲| 久久婷婷五月综合97色直播| 欧美日韩精品久久久久| 久久久久国产精品嫩草影院| 国产精品久久久久一区二区三区| 99久久精品国产毛片| 韩国三级中文字幕hd久久精品| 成人a毛片久久免费播放| 久久精品国产一区二区三区不卡 | 99国产欧美久久久精品蜜芽|