• <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>
            posts - 124,  comments - 29,  trackbacks - 0

            1:何為設(shè)計(jì)模式?
            設(shè)計(jì)模式(Design pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)可以被反復(fù)使用而且可靠性高。設(shè)計(jì)模式可以讓你的程序可維護(hù)性高可擴(kuò)展性好

            2:為什么要學(xué)習(xí)設(shè)計(jì)模式?
                   復(fù)用解決方案——通過服用已有的設(shè)計(jì)模式,為自己的問題找到了更高的起點(diǎn),避免了繞彎路。不必再為普遍,重復(fù)的問題重新設(shè)計(jì)解決方案。
                   建立通用的術(shù)語——交流與協(xié)作都需要一個(gè)共同的詞匯基礎(chǔ),一個(gè)對(duì)問題共同的觀點(diǎn)。設(shè)計(jì)模式在項(xiàng)目的分析和設(shè)計(jì)階段提供了一個(gè)通用的參考點(diǎn)
                   更高層次的視角——這樣的視角將你從“過早處理細(xì)節(jié)”的“暴政”中解放出來。

            模式本身就是對(duì)如何創(chuàng)建優(yōu)良面向?qū)ο笤O(shè)計(jì)策略的實(shí)現(xiàn):
                1.針對(duì)接口編程
                2.優(yōu)先使用對(duì)象組合,而不是類繼承
                3.發(fā)現(xiàn)并封裝變化點(diǎn)

            abstract factory、adapter、strategy體現(xiàn)了針對(duì)接口編程
            composite、bridge體現(xiàn)了優(yōu)先使用組合而不是繼承等。

             深入到具體模式的討論,記錄一些需要注意的問題:
            1.Adapter與Facade模式的區(qū)別
            它們都是包裝器,但是兩者也有細(xì)微的區(qū)別:
            .兩個(gè)模式中,我們都有已經(jīng)存在的類(或者說系統(tǒng))
            .Facade模式中,我們無需針對(duì)接口編程;而Adapter模式我們必須針對(duì)接口編程
            .Adapter模式通常是為了保持多態(tài),而Facade模式對(duì)此不感興趣
            .動(dòng)機(jī)不同,F(xiàn)acade模式是為了簡(jiǎn)化接口,而Adapter模式是針對(duì)一個(gè)現(xiàn)存的接口編程
            結(jié)論:Facade模式簡(jiǎn)化接口,而Adapter模式將接口轉(zhuǎn)換成另一個(gè)現(xiàn)有的接口

            2.Bridge模式的理解
            Bridge模式的意圖是將抽象部分與它的實(shí)現(xiàn)部分分離,使它們可以獨(dú)立的變化。這里的關(guān)鍵點(diǎn)是需要理解“實(shí)現(xiàn)部分”,如果把“實(shí)現(xiàn)部分”看成“對(duì)象外部、被對(duì)象使用的某種東西”,此模式就很好理解了。我們將變化轉(zhuǎn)移到一個(gè)使用或者擁有變化的對(duì)象(此對(duì)象是指抽象類的對(duì)象和用來實(shí)現(xiàn)抽象類的派生類的對(duì)象)。當(dāng)出現(xiàn)繼承的類爆炸情況時(shí),也許你該考慮此模式的應(yīng)用場(chǎng)景了。

            3.Strategy模式是一種定義算法家族的方法,所有的算法都做相同的工作,它們只是擁有不同的實(shí)現(xiàn)。當(dāng)你的代碼中出現(xiàn)了很多switch或者if else的語句,你應(yīng)該考慮此模式。Strategy模式帶來的缺點(diǎn)是類的數(shù)量的增加,在java中可以通過將實(shí)現(xiàn)類作為嵌套類放在Strategy抽象類中來解決。

            4.singleton模式:
            保證一個(gè)類有且僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局訪問點(diǎn)
            單線程應(yīng)用:
            第一種:靜態(tài)初始化

            public class Singleton {
                
            private Singleton() {
                }

                
            private static Singleton instance = new Singleton();

                
            public static Singleton getInstance() {
                    
            return instance;
                }
            }


            posted on 2008-06-11 19:46 天書 閱讀(166) 評(píng)論(0)  編輯 收藏 引用

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



            <2008年9月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            常用鏈接

            留言簿(5)

            隨筆檔案

            文章分類

            文章檔案

            好友的Bolg

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            99久久综合狠狠综合久久| 一本一本久久aa综合精品| 18岁日韩内射颜射午夜久久成人| 国产成人精品久久一区二区三区av | 国产成人久久精品麻豆一区| 久久久无码精品亚洲日韩按摩 | 久久久青草久久久青草| 久久er99热精品一区二区| 国内精品久久久久伊人av| 成人久久综合网| 91精品国产高清久久久久久91| 久久精品国产一区| 国产精品99久久久久久董美香| 国产一区二区精品久久凹凸| 久久久久国产一区二区| 无码人妻少妇久久中文字幕 | 久久精品成人免费网站| 韩国三级大全久久网站| 一级做a爰片久久毛片16| 久久91这里精品国产2020| 性做久久久久久久久老女人| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 亚洲精品国精品久久99热一| 久久婷婷五月综合色奶水99啪| 久久久久久久97| 久久www免费人成精品香蕉| 午夜视频久久久久一区| 久久国产精品成人影院| 久久精品无码一区二区三区免费 | 久久久精品国产亚洲成人满18免费网站 | 久久久久亚洲AV无码专区首JN| 久久这里只有精品18| 久久精品中文字幕有码| 一本色道久久HEZYO无码| 94久久国产乱子伦精品免费| 久久久久亚洲av综合波多野结衣| 99久久免费国产特黄| 久久精品综合网| 国产日韩久久免费影院| 久久99久久99精品免视看动漫| 亚洲国产成人精品91久久久|