整個設計模式貫穿一個原理:面對介面編程,而不是面對實現,(面向物件編程應該改爲面向介面編程)。目標原則是:降低耦合,增強靈活性。 |
|
創建模式 |
|
设计模式之Factory(工厂方法和抽象工厂)
使用工厂模式就象使用new一样频繁. |
|
|
|
設計模式之Prototype(原型) 用原型實例指定創建物件的種類,並且通過拷貝這些原型創建新的物件。 |
|
|
|
設計模式之Builder 汽車由車輪 方向盤 發動機很多部件組成,同時,將這些部件組裝成汽車也是一件複雜的工作,Builder模式就是將這兩種情況分開進行。 |
|
|
|
設計模式之Singleton(單態) 保證一個類只有一個實例,並提供一個訪問它的全局訪問點 |
|
|
結構模式 |
|
設計模式之Facade 可擴展的使用JDBC針對不同的資料庫編程,Facade提供了一種靈活的實現。 |
|
|
|
設計模式之Proxy 以Jive爲例,剖析代理模式在用戶級別授權機制上的應用 |
|
|
|
設計模式之Adapter 使用類再生的兩個方式:組合(new)和繼承(extends),這個已經在"thinking in java"中提到過。 |
|
|
|
設計模式之Composite 就是將類用樹形結構組合成一個單位。你向別人介紹你是某單位,你是單位元元中的一個元素,別人和你做買賣,相當於和單位做買賣。文章中還對Jive再進行了剖析。 |
|
|
|
設計模式之Decorator Decorator是個油漆工,給你的東東的外表刷上美麗的顔色。 |
|
|
|
設計模式之Bridge 將"牛郎織女"分開(本應在一起,分開他們,形成兩個介面),在他們之間搭建一個橋(動態的結合) |
|
|
|
設計模式之Flyweight 提供Java運行性能,降低小而大量重復的類的開銷。 |
|
|
行爲模式 |
|
設計模式之Template 實際上向你介紹了爲什麽要使用Java 抽象類,該模式原理簡單,使用很普遍。 |
|
|
|
設計模式之Memento 很簡單一個模式,就是在記憶體中保留原來資料的拷貝。 |
|
|
|
設計模式之Observer 介紹如何使用Java API提供的現成Observer |
|
|
|
設計模式之Chain of Responsibility 各司其職的類串成一串,好象擊鼓傳花,當然如果自己能完成,就不要推委給下一個。 |
|
|
|
設計模式之Command 什麽是將行爲封裝,Command是最好的說明。 |
|
|
|
設計模式之State 狀態是編程中經常碰到的實例,將狀態物件化,設立狀態變換器,便可在狀態中輕鬆切換。 |
|
|
|
設計模式之Strategy 不同演算法各自封裝,用戶端可隨意挑選需要的演算法。 |
|
|
|
設計模式之Mediator Mediator很象十字路口的紅綠燈,每個車輛只需和紅綠燈交互就可以。 |
|
|
|
設計模式之Interpreter 主要用來對語言的分析,應用機會不多。 |
|
|
|
設計模式之Visitor 訪問者在進行訪問時,完成一系列實質性操作,而且還可以擴展。 |
|
|
|
設計模式之Iterator 這個模式已經被用來遍曆Collection中物件。使用頻率很高。在Java中無需專門闡述,在大多數場合也無需自己製造一個Iterator,只要將物件裝入Collection中,我們就直接可以使用Iterator模式。 |