本人出道5年,學習、編程、再學習、再編程一路走過,只是在筆和紙留下些腳印,實感慚愧。現開始把本身學習到的心得,實踐中的體會,一一貼在互聯網上,你們互相學習、探討,尋找一些技術朋友。有些題材,首先想到了最近感興趣的設計模式,因而着手眼前,踏出堅實一步。算法
設計模式都有哪些?編程
按照GOF提出,24種,按照目的分爲:建立型(creational)、結構性(structural)、行爲型(behavioral)。設計模式
1、建立型:學習
一、Singleton 單例模式。一個類的惟一實例。ui
二、Factory Method 工廠模式。被實例化的子類。設計
三、Abstract Factory 抽象工廠模式。產生對象家族。代理
四、Builder 生成器模式。如何建立一個組合對象。server
五、Prototype 原型模式。被實例化的類。對象
2、結構型:接口
一、Adapter 適配器模式。對象的接口
二、Bridge 橋模式。對象的實現。
三、Composite 組成模式。一個對象的結構和組成。
四、Decorator 裝飾模式。對象的職責,不生產子類。
五、Facade 外觀模式。一個子系統的接口。
六、Flyweight 享元模式。對象的存儲開銷。
七、Proxy 代理模式。如何訪問一個對象;該對象的位置。
3、行爲型:
一、Chain Of Responsibility 職責鏈模式。知足一個請求的對象。
二、Command 命令模式。什麼時候、怎樣知足一個請求。
三、Interpreter 解釋器模式。一個語言的文法及解釋。
四、Iterator 迭代器模式。如何遍歷、訪問一個聚合的各元素。
五、Mediator 中介者模式。對象間怎樣交互、和誰交互。
六、Memento 備忘錄模式。一個對象中哪些似有信息存放在該對象以外,以及在何時存儲。
七、Observer 觀察者模式。多個對象依賴於另外一個對象,而這些對象又如何保持一致
八、State 狀態模式。對象的狀態
九、Strategy 策略模式。算法
十、Template Method 模板模式。算法中的某些步驟。
十一、Visitor 訪問者模式。某些可做用於一個(組)對象上的操做,但不修改這些對象的類。
以上的模式名稱來自於GOF,四位牛人,他們在「設計模式」一書中提出,設計模式的概念提出,很大一部分是方便人們的溝通,理解。接下來的博客中,我會將我對設計模式的理解一一記錄下來,固然很是的淺顯,描述也不是很詳盡,但會盡可能貼近「互聯網IT」人士的工做內容,呵呵。