轉至
設計模式,提供了很多軟體工程問題所需處理的解決方案。
根據模式的目的可分為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.晦澀性
... ...
總而言之,一句話,物件導向特性+原則+模式,折騰來折騰去就是這麼個回事。
java設計模式系列 0 設計模式概述
1.設計模式簡介 設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。2.分類 總體來說設計模式分為三大類 建立型模式,共五種 工廠方法模式 抽象工廠模式 單例模式 建造者模式 原型模式...
Android設計模式系列 組合模式
2013 11 26 15 48 佚名 eoe android開發者社群 字型大小 t t android中對組合模式的應用,可謂是氾濫成粥,隨處可見,那就是view和viewgroup類的使用。在android ui設計,幾乎所有的widget和布局類都依靠這兩個類。android中對組合模式的應...
Android設計模式系列 模板方法模式
2013 11 26 17 15 佚名 字型大小 t t 我個人對模板方法的經典思想特別推崇,雖然模板方法在大對數情況下並不被推薦使用,但是這種通過父類呼叫子類的方法,使用繼承來改變演算法的一部分,是物件導向的一種基本認識。模板方法,和單例模式是我認為gof的23中最簡單的兩種模式。但是我個人對模板...