大話設計模式

最近打算將經常使用的設計模式學習一下,因此在kindle上下載了「大話設計模式」一書,並在這裏寫了一片文章,用來記錄下本身學習的點滴。一樣該篇文章也是一個學習計劃html

1. 什麼時設計模式?java

設計模式其實時一套被反覆使用,多數人知曉,通過分類的,代碼設計經驗的總結。使用設計模式的主要目的就是爲了可重用代碼,讓代碼更容易被他人理解,同時保證了代碼的可靠性。編程

設計模式的存在使得代碼的編寫真正的工程化。設計模式

 

2. 設計模式的要求學習

(1) Open Close Principle(開閉原則): 對擴展開放,對修改關閉。這個原則主要是爲了保證程序的良好擴展性,以便代碼更加易於維護和升級。spa

(2) Liskov Substitution Principle(里氏代換原則):全部基類出現的地方,子類必定能夠出現。也就是說全部基類出現的地方都是能夠用子類來進行替代的。這是代碼中繼承與服用的基礎,同時也保證了子類的可擴展性。設計

(3) Dependence Inversion Principle(依賴倒轉原則):對接口進行相關的編程,依賴於抽象,而不是依賴於具體。代理

(4) Interface Segregation Principle(接口隔離原則):在軟件的整體設計中,應該儘可能作到高內聚,低耦合。也就是說爲了下降類之間的耦合度,應該使用多個隔離的接口來實現,避免使用單個的接口。htm

(5) Demeter Principle(迪米特原則):又叫作最少知道原則,也就是說爲了減小實體與實體之間的相互做用,應該儘可能使整個系統的功能模塊相互獨立,減小模塊之間的相互交流。對象

(6) Composite Reuse Principle(合成複用原則):在代碼設計時,儘可能減小繼承的使用,多食用合成以及聚合的方式。

 

3. 設計模式的分類

構造型模式:生成器模式,工廠方法模式,抽象工廠模式,原型模式,備忘錄模式

接口型模式:適配器模式,外觀模式,組合模式,橋接模式

責任型模式:單例模式,觀察者模式,中介模式,代理模式,享元模式

操做型模式:模板方法模式,狀態模式,策略模式,命令模式,解釋器模式

擴展型模式:裝飾器模式,迭代器模式,訪問者模式

 

4. 構造型模式

1)生成器模式

。。。。。

2)工廠方法模式,抽象工廠模式

工廠模式常見的有四種:普通工廠模式,工廠方法模式(多工廠模式),靜態工廠方法模式,抽象工廠模式

詳細的介紹請看個人另外一篇文章:http://www.cnblogs.com/dong-liu/p/7489622.html

3)原型模式

。。。。。

4)備忘錄模式

。。。。。

 

5. 接口型模式

1)適配器模式

。。。。。。

2)外觀模式

。。。。。。

3)組合模式

。。。。。。

4)橋接模式

。。。。。。

 

6. 責任型模式

1)單例模式

單例模式(Singleton)是java中一個比較常見的設計模式,單例對象主要是爲了保證在一個JVM中,該對象只有一個實例存在。

常見實現單例模式的方法有:餓漢式,懶漢式,靜態內部類,雙檢鎖模式。

詳細細節請看個人另外一篇文章:http://www.cnblogs.com/dong-liu/p/7508505.html

2)觀察者模式

。。。。。。

3)中介模式

。。。。。。

4)代理模式

。。。。。。

5)享元模式

。。。。。。

 

7. 操做型模式

1)模板方法模式

。。。。。。

2)狀態模式

。。。。。。

3)策略模式

。。。。。。

4)命令模式

。。。。。。

5)解釋器模式

。。。。。。

 

8. 擴展型模式

1)裝飾器模式

。。。。。。

2)迭代器模式

。。。。。。

3)訪問者模式

。。。。。。

相關文章
相關標籤/搜索