設計模式系列(0)

喜歡的朋友能夠去網上下載大話設計模式PDF格式。算法

根據模式的目的可分爲3類:
1.建立型模式:與對象的建立有關。
2.結構性模式:處理類與對象的組合。
3.行爲性模式:對類或對象怎樣交互和怎樣 分配職責進行描述。編程

面向對象設計的2個基本原則:
1.針對接口編程,而不是針對實現編程。
2.優先使用對象組合,而不是類繼承。 設計模式

面向對象設計的5個設計原則:
1.單一職責原則(SRP)
2.開放封閉原則(OCP) 
3.Liskov替換原則(LSP)
4.依賴倒置原則(DIP)
5.接口隔離原則(ISP) 設計

23中設計模式:
1.建立型模式:
(1).工廠方法模式
(2).抽象工廠模式
(3).建立者模式
(4).原型模式
(5).單例模式
2.結構型模式:
(6).適配器模式
(7).橋模式
(8).組合模式
(9).裝飾模式
(10).外觀模式
(11).享元模式
(12).代理模式
3.行爲型模式
(13).解釋器模式
(14).模板方法模式
(15).職責鏈模式
(16).命令模式
(17).迭代器模式
(18).中介者模式
(19).備忘錄模式
(20).觀察者模式
(21).狀態模式
(22).策略模式
(23).訪問者模式 
除此以外,後來人發現不少新的模式,如空模式等。代理

下面列舉幾個常見的問題致使從新設計,可能須要設計模式來分析解決:
1.經過顯示的指定一個類來建立對象
2.對特殊操做的依賴
3.對硬件和軟件平臺的依賴
4.對對象表示或實現的依賴
5.算法依賴
6.緊耦合
7.經過生產子類來擴展功能
8.不能方便的對類進行修改對象

軟件的設計臭味:
1.僵化性
2.脆弱性
3.頑固性
4.粘滯性
5.沒必要要的複雜性
6.沒必要要的重複
7.晦澀性 
... ...
總而言之,一句話,面向對象特性+原則+模式,折騰來折騰去就是這麼個回事。繼承

相關文章
相關標籤/搜索