<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é)的最后一個學(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ò)展功能,裝飾者提供了比繼承更有彈性的替代方案

    包裝一個對象,以提供新的行為

    狀態(tài)

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

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

    迭代器

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

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

    外觀(門面)

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

    簡化一群類的接口

    策略

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

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

    代理

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

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

    工廠方法

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

    由子類決定要創(chuàng)建是具體類是哪一個

    抽象工廠

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

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

    適配器

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

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

    觀察者

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

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

    模板方法

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

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

    組合

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

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

    單件(單體)

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

    確保只有一個對象被創(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

    主站蜘蛛池模板: 国产精品亚洲二区在线观看| 无码专区一va亚洲v专区在线| 亚洲乱码一区二区三区国产精品| 国外成人免费高清激情视频| 乱人伦中文视频在线观看免费| 亚洲国产一区国产亚洲| 成人午夜性A级毛片免费| 一边摸一边爽一边叫床免费视频| 久久精品国产亚洲av麻豆| 日本一线a视频免费观看| 国产免费伦精品一区二区三区| 亚洲国产日韩女人aaaaaa毛片在线 | 亚洲处破女AV日韩精品| 毛片免费在线观看网站| 免费网站观看WWW在线观看| 亚洲一区二区三区丝袜| 亚洲国产精品无码久久久秋霞2 | 亚洲福利视频导航| 日韩精品成人亚洲专区| **俄罗斯毛片免费| 久青草视频在线观看免费| 亚洲国产激情在线一区| 国产亚洲av片在线观看播放| 国产成人免费全部网站| 97性无码区免费| 久久精品国产这里是免费| 日本永久免费a∨在线视频| 亚洲免费视频网址| 亚洲人成网站在线播放影院在线 | 亚洲精品视频在线| 亚洲综合精品香蕉久久网| 性感美女视频在线观看免费精品| 日韩中文字幕免费视频| 中国性猛交xxxxx免费看| 特级av毛片免费观看| 亚洲色偷偷偷综合网| 亚洲不卡1卡2卡三卡2021麻豆| 亚洲伦理一区二区| 亚洲精品白浆高清久久久久久| 免费国产真实迷j在线观看| 在线播放高清国语自产拍免费|