<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    統(tǒng)計(jì)

    留言簿(1)

    DB

    Others

    QA

    Tech Website

    閱讀排行榜

    評論排行榜

    Java設(shè)計(jì)模式總結(jié)

    一、寫在前面
            剛開學(xué),趁著有時(shí)間把設(shè)計(jì)模式重新整理一次。學(xué)好設(shè)計(jì)模式是走向架構(gòu)的第一步,系統(tǒng)架構(gòu)應(yīng)該朝著可維護(hù),可擴(kuò)展,強(qiáng)壯性好的方向去發(fā)展。大學(xué)的最后一個(gè)學(xué)期了,時(shí)間不多了,3月初就要去騰訊實(shí)習(xí)了,還有畢設(shè)。加油 :)

    二、常見的模式分類
     

    創(chuàng)建模式

    結(jié)構(gòu)模式

    行為模式

    簡單工廠模式

    適配器模式

    不變模式

    工廠方法模式

    缺省適配模式

    策略模式

    抽象工廠模式

    合成模式

    模版方法模式

    單例模式

    裝飾模式

    觀察者模式

    多例模式

    代理模式

    迭代子模式

    建造模式

    享元模式

    責(zé)任鏈模式

    原始模型模式

    門面模式

    命令模式

    橋梁模式

    備忘錄模式

    狀態(tài)模式

    訪問者模式

    解釋器模式

    調(diào)停者模式



    三、主要模式的定義和描述
    以下內(nèi)容來自《head first 設(shè)計(jì)模式》一書
     

    模式

    定義

    描述

    裝飾者

    動態(tài)地將責(zé)任附加到對象上。若要擴(kuò)展功能,裝飾者提供了比繼承更有彈性的替代方案

    包裝一個(gè)對象,以提供新的行為

    狀態(tài)

    允許對象在內(nèi)部狀態(tài)改變時(shí)改變它的行為,對象看起來好像修改了它的類

    封裝了基本狀態(tài)的行為,并使用委托在行為之間切換

    迭代器

    提供一種方法順序訪問一個(gè)聚合對象中的各個(gè)元素,而又不暴露其內(nèi)部的表示

    在對象的集合之中游走,而不暴露集合的實(shí)現(xiàn)

    外觀(門面)

    提供一個(gè)統(tǒng)一的接口,用來訪問子系統(tǒng)中的一群接口。外觀定義了一個(gè)高層接口,讓子系統(tǒng)更多容易使用

    簡化一群類的接口

    策略

    定義算法族,分別封裝起來,讓它們之間可以互相替換,此模式讓算法的變化獨(dú)立于使用算法的客戶

    封裝可以互換的行為,并使用委托來決定使用那一種

    代理

    為另一個(gè)對象提供一個(gè)替身或點(diǎn)位符以訪問這個(gè)對象

    包裝對象,以控制對此對象的訪問

    工廠方法

    定義了一個(gè)創(chuàng)建對象的接口,但由子類決定要實(shí)例化的類是哪一個(gè)。工廠方法讓類把實(shí)例化推遲到子類

    由子類決定要?jiǎng)?chuàng)建是具體類是哪一個(gè)

    抽象工廠

    提供一個(gè)接口,用于創(chuàng)建相關(guān)或依賴對象的家族,而不需要明確指定具體類

    允許客戶創(chuàng)建對象的家族,而無需指定他們的具體類

    適配器

    將一個(gè)類的接口,轉(zhuǎn)換成客戶期望另一個(gè)接口。適配器讓原來不兼容的類可以合作無間

    封裝對象,并提供不同的接口

    觀察者

    在對象之間定義一對多的依賴,這樣一來,當(dāng)一個(gè)對象改變時(shí),依賴它的對象都會收到通知并自動更新

    讓對象能夠在狀態(tài)改變時(shí)被通知

    模板方法

    在一個(gè)方法中定義一個(gè)算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以在不改變算法結(jié)構(gòu)的情況下,重新定義算法中的某些步驟

    由子類決定如何實(shí)現(xiàn)一個(gè)算法中的步驟

    組合

    允許你將對象組成樹結(jié)構(gòu)來表現(xiàn)“整體/部分”的層次結(jié)構(gòu)。組合能讓客戶以一致的方式處理個(gè)別對象和對象組合

    客戶用一致的方式處理對象集合和單個(gè)對象

    單件(單體)

    確保一個(gè)類只有一個(gè)實(shí)例,并提供全局訪問點(diǎn)

    確保只有一個(gè)對象被創(chuàng)建

    命令

    將請求封裝成對象,這可以讓你使用不同的請求、隊(duì)列,或者日志請求來參數(shù)化其它對象。命令模式也可以支持撤銷操作

    封裝請求為對象


      四、參考資料
             IBM社區(qū)設(shè)計(jì)模式方面資料: http://www.ibm.com/developerworks/cn/java/design/
             常見OO原則:http://m.tkk7.com/jicheng687/archive/2011/02/13/344174.html

    --END--

    posted on 2011-02-21 23:40 XXXXXX 閱讀(3156) 評論(0)  編輯  收藏 所屬分類: Programing

    主站蜘蛛池模板: 免费看小12萝裸体视频国产| 国产精品99久久免费| 国产网站在线免费观看| 青青草原亚洲视频| 亚洲国产成人va在线观看网址| 国产天堂亚洲精品| 美女内射无套日韩免费播放| 波多野结衣久久高清免费 | 男人的天堂网免费网站| a级毛片无码免费真人| 国产亚洲情侣一区二区无码AV| 亚洲一区二区三区免费视频| 一区在线免费观看| 黄色网址免费大全| 国产成人亚洲精品影院| 午夜在线a亚洲v天堂网2019| 中文字幕免费人成乱码中国| 成人毛片免费在线观看| 亚洲国产成人片在线观看无码| 亚洲Av无码国产一区二区| 免费人妻无码不卡中文字幕系| 亚洲AV无码不卡在线观看下载| 亚洲国产av美女网站| 中国在线观看免费的www| 波多野结衣久久高清免费| 精品亚洲aⅴ在线观看| 一级毛片大全免费播放下载| 免费人成视频在线| 亚洲午夜精品久久久久久人妖| 成年大片免费高清在线看黄| 成年人网站在线免费观看| 精品亚洲成a人片在线观看| EEUSS影院WWW在线观看免费| 日韩视频在线免费| 亚洲精品国产成人中文| 你懂的免费在线观看| 免费成人在线观看| 亚洲日韩一区精品射精| 30岁的女人韩剧免费观看| 亚洲av无码一区二区三区网站 | 免费黄色app网站|