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