Java設計模式彙總

1、簡介

設計模式.就我的而言.說白了就是讓代碼直接的耦合度沒那麼高.編程

這樣系統的拓展性、伸縮性更強,畢竟功能的需求突飛猛進.每天改改改.設計模式

因此有一個良好的架構,在改需求時能夠提升你的效率.架構

Jdk源碼中io流就用到了裝飾者模式.還有基於接口的動態代理模式invovation框架

Spring框架中也用了單例模式、代理模式ui

2、分類

共23種,分三大類spa

1.建立型(5種):把對象的實例化過程抽象出來,把對象的引用和建立過程抽離出來,達到鬆耦合的效果.net

    對對象建立過程的各類問題和解決方案的總結設計

    工廠模式、抽象工廠、單例模式、建造者模式、原型模式代理

2.結構型(7種):是針對軟件設計結構的總結,關注於類、對象繼承、組合方式的實踐經驗對象

    適配模式、橋接模式、裝飾者模式、外觀模式、組合模式、亨元模式

3.行爲型(11種):是從類或對象之間交互、職責劃分等角度總結的模式

    代理模式、觀察者模式、策略模式、模板方法模式、迭代器模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式

3、六大原則

1.開閉原則

    對拓展開放、修改關閉

2.里氏替換原則

    父類的引用指向子類的對象

3.控制反轉原則

    針對接口編程,不依賴具體

4.接口隔離原則

    每一個接口各自的職責,必要時使用多個接口

5.迪米特法則

    一個實體儘可能少地與其餘實體間發生相互做用.最好要有層級引用關係

6.合成複用原則

    儘可能使用組合/聚合的方式,而不是使用繼承

4、模式傳送門

    4.1建立型

        工廠模式(Factory):http://www.javashuo.com/article/p-djuuevzq-nx.html

        抽象工廠(Abstract):http://www.javashuo.com/article/p-mitsxbpm-nx.html

        單例模式(Single):http://www.javashuo.com/article/p-eaokhrqk-nx.html

        原型模式(Prototype):http://www.javashuo.com/article/p-elvbykae-nx.html

        建造者模式(Builder):http://www.javashuo.com/article/p-feufgvev-nx.html

    4.2結構型

        適配器(Adaptor):http://www.javashuo.com/article/p-ckfhcruf-nx.html  

        橋接模式(Bridge):http://www.javashuo.com/article/p-uznawaim-nx.html

        裝飾者(Decorator):http://www.javashuo.com/article/p-wngtndji-nx.html

        外觀模式(Facade):http://www.javashuo.com/article/p-zfmavemx-nx.html

        組合模式(Composite):http://www.javashuo.com/article/p-sscnhzbu-nx.html

        享元模式(FlyWeight):http://www.javashuo.com/article/p-hawtfuaf-nx.html

    4.3行爲型

        代理模式(Proxy):http://www.javashuo.com/article/p-omiiqvcl-nx.html       

相關文章
相關標籤/搜索