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

            jetty2k-kyj

            無(wú)名
            posts - 3, comments - 20, trackbacks - 0, articles - 0

            GOF模式之我見(jiàn) 之一

            Posted on 2010-03-09 16:31 鄭曉源 閱讀(1268) 評(píng)論(2)  編輯 收藏 引用

            感謝GOF
            感謝K_Eckel      frwei@whu.edu.cn
            感謝愛(ài)人
            感謝家人
            轉(zhuǎn)載請(qǐng)注明來(lái)源

            希望能和兄弟們交流     jetty     jetty2k_kyj@163.com

            **************************************************************

             架構(gòu)設(shè)計(jì),目前理解來(lái)看,就是對(duì)概念的 分級(jí),分離/組合,通信
               分級(jí): 比如 繼承,比如 大模塊下的小模塊
               分離: 比如 對(duì)象分類(lèi),組件分類(lèi)
               組合: 比如 類(lèi)對(duì)象的組合
               通信: 比如 通過(guò)接口,通過(guò)類(lèi)WinMsg

             
             1. 創(chuàng)建型模式
             
               1.1 Factory Method(工廠方法)[一般對(duì)象創(chuàng)建]
                    1. 用類(lèi)C1自身特色構(gòu)造函數(shù)封裝對(duì)象的創(chuàng)建
                       創(chuàng)建的調(diào)用在抽象工廠類(lèi)的子類(lèi)的虛函數(shù)F1中
                       創(chuàng)建后,可添加初始化代碼于F1中,F(xiàn)1返回C1對(duì)象指針
                       C1對(duì)象指針可 工廠析構(gòu)時(shí)自動(dòng)[安全] 或 不用時(shí)手動(dòng)[效率] 釋放
                    2. 擴(kuò)展(模板類(lèi)法)
                       將抽象工廠類(lèi)的子類(lèi)做成模板類(lèi)
                       傳入Cn作為參數(shù),就實(shí)現(xiàn)了編譯時(shí)類(lèi)變化支持
                    3. 擴(kuò)展(配置文件法)
                       可增加Key,ClassName對(duì)應(yīng)的Xml配置文件
                       再由 m##n 宏 將ClassName轉(zhuǎn)成對(duì)應(yīng)的標(biāo)識(shí)符來(lái)調(diào)用
                       這樣,先將可能用到的Class都定義好,調(diào)用流程寫(xiě)好
                       更改Xml配置文件,就實(shí)現(xiàn)了運(yùn)行時(shí)類(lèi)變化支持
                
               1.2 Abstract Factory(抽象廠工)[相關(guān)聯(lián)的一組對(duì)象創(chuàng)建]
                    1. 在Factory Method(工廠方法)的基礎(chǔ)上
                       在抽象工廠類(lèi)中為每一組具有相同創(chuàng)建過(guò)程的對(duì)象
                       建立一個(gè)虛函數(shù),其他類(lèi)同F(xiàn)actory Method(工廠方法)
                    2. 如果虛函數(shù)不多,就只用一個(gè)抽象工廠的子類(lèi),
                       用函數(shù)名字劃分產(chǎn)品線(男鞋線/女鞋線)
                    3. 如果虛函數(shù)較多,可用多個(gè)抽象工廠的子類(lèi),
                       用類(lèi)名(食品廠/鞋廠)劃分產(chǎn)品線,
                       相關(guān)聯(lián)的對(duì)象的創(chuàng)建就在一起了
                
               1.3 Singleton(單件)[保證僅有一個(gè)實(shí)例]
                    1. 私有化 類(lèi)構(gòu)造函數(shù)
                       只能通過(guò)靜態(tài)成員函數(shù)Instance來(lái)生成這個(gè)唯一對(duì)象
                       用靜態(tài)私有成員變量保存這個(gè)唯一實(shí)例對(duì)象的指針
                       用靜態(tài)公有函數(shù)GetInstance返回這個(gè)指針
                       注意在類(lèi)析構(gòu)時(shí),SafeDel這個(gè)指針
                    2. 上面的具體工廠類(lèi),就應(yīng)該是一個(gè)Singleton對(duì)象
                
               1.4 Builder(生成器)[相同構(gòu)造算法得到不同的復(fù)雜對(duì)象](STL)
                    1. 分離 構(gòu)造算法(穩(wěn)定) 與 構(gòu)造參數(shù)(不穩(wěn)定)
                    2. 需要 算法函數(shù)隊(duì)列 迭代器 容器
                    3. 例如 STL中的算法 nth_element
              
               1.5 Prototype(原型)[自我復(fù)制]
                    1. 代碼
                        Prototype* ConcretePrototype::Clone() const
                        {
                            return new ConcretePrototype(*this); //拷貝構(gòu)造函數(shù)
                        }
                    2. 注意 類(lèi)成員為 指針或復(fù)雜對(duì)象 時(shí),拷貝構(gòu)造函數(shù) 的 深層拷貝   
              
              
             2. 結(jié)構(gòu)型模式
             
               2.1 Bridge(橋接)[分離接口與實(shí)現(xiàn)]
                    1. 接口類(lèi)A 為 實(shí)現(xiàn)類(lèi)B 的父類(lèi)
                    2. A類(lèi)中有類(lèi)B對(duì)象的指針,可用函數(shù)賦值
                    3. 從而使類(lèi)A的接口功能完整化,且實(shí)現(xiàn)獨(dú)立


            未完,待續(xù)……

            Feedback

            # re: GOF模式之我見(jiàn) 之一  回復(fù)  更多評(píng)論   

            2010-03-10 12:52 by 劉暢
            贊,看郵件地址LZ好像是武漢大學(xué)的?

            # re: GOF模式之我見(jiàn) 之一  回復(fù)  更多評(píng)論   

            2010-03-19 02:05 by gbb21
            靠,下次記得先感謝國(guó)家!

            只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            手机看片久久高清国产日韩 | 九九热久久免费视频| 久久精品国产91久久综合麻豆自制| 新狼窝色AV性久久久久久| 久久成人国产精品二三区| 久久久久亚洲?V成人无码| 亚洲va久久久噜噜噜久久| 色综合久久久久网| 久久成人小视频| 久久九九全国免费| 久久狠狠爱亚洲综合影院| 久久青草国产精品一区| 久久婷婷色综合一区二区| 亚洲成色999久久网站| 国产成人精品综合久久久| 久久国产香蕉视频| a级成人毛片久久| 亚洲午夜久久久久久噜噜噜| 精品久久国产一区二区三区香蕉| 色综合久久综合中文综合网| 久久99国产一区二区三区| 97久久久精品综合88久久| 久久久久国产精品人妻| 久久综合色老色| 久久免费99精品国产自在现线| 中文字幕亚洲综合久久2| 97久久精品无码一区二区| 一本色道久久HEZYO无码| 国产精品久久久久久久久软件| 精品久久久久久久久久中文字幕| 成人久久精品一区二区三区| 亚洲成色WWW久久网站| 久久亚洲精精品中文字幕| 久久久久久无码Av成人影院| 久久精品国产亚洲av麻豆小说| 无码国内精品久久人妻蜜桃| 伊人久久精品无码二区麻豆| 亚洲级αV无码毛片久久精品| 中文字幕久久久久人妻| 亚洲综合伊人久久综合| 91精品国产综合久久精品|