1 簡介
設計模式是一套被反覆使用、多數人知曉的、經過分類編目的、**設計經驗的總結。使用設計模式是為了可重用**、讓**更容易被他人理解、保證**可靠性。毫無疑問設計模式於己於他人於系統都是多贏的;設計模式使**編制真正工程化;
2 分類
(1)建立型模式: 通常和物件的建立有關,涉及到物件例項化的方式。(共5種模式)
(2)結構型模式: 描述的是如何組合類和物件以獲得更大的結構。(共7種模式)
(3)行為型模式: 用來對類或物件怎樣互動和怎樣分配職責進行描述。(共11種模式)
3 設計模式基本原則(solid)
(1)單一職責原則 (srp,single responsibility principle)
類的職責要單一,對外只提供一種功能,而引起類變化的原因都應該只有乙個。
(2) 開放封閉原則 (ocp,open for extension, closed for modification principle)
類的改動是通過增加**進行的,而不是修改源**。
(3) 黎克特制替換原則 (lsp, liskov substitution principle)
任何抽象類出現的地方都可以用他的實現類進行替換。實際就是虛擬機制,語言級別實現物件導向功能。
(4)介面隔離原則 (isp,inte***ce segegation principle)
不應該強迫客戶的程式依賴他們不需要的介面方法。乙個介面應該只提供一種對外功能,不應該把所有操作都封裝到乙個介面中去。
(5)依賴倒置原則 (dip,dependence inversion principle)
抽象不應該依賴於細節,細節應當依賴於抽象。換言之,要針對介面程式設計,而不是針對實現程式設計。
(6)迪公尺特法則(lod,law of demeter)
乙個物件應當對其他物件盡可能少的了解,從而降低各個物件之間的耦合,提高系統的可維護性。
例如在乙個程式中,各個模組之間相互呼叫時,通常會提供乙個統一的介面來實現。這樣其他模組不需要了解另外乙個模組的內部實現細節,這樣當乙個模組內部的實現發生改變時,不會影響其他模組的使用。(黑盒原理)
4 最終目的:高內聚,低耦合
設計模式介紹
我的設計模式入門是head first pattern,可以說是比較好的入門書籍,教程上講解了常用的設計模式,並不全面。作為入門足夠,通俗易懂。設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類的 設計經驗的總結。使用設計模式的目的 為了 可重用性 讓 更容易被他人理解...
設計模式介紹
每乙個模式描述了乙個在我們周圍不斷重 生的問題,以及該問題的解決方案的核心。這樣,你就能一次又一次地使用該方案而不必做重複勞動 christopher alexander 人們面對複雜性有乙個常見的做法 即分而治之,將大問題分解為多個小問題,將複雜問題分解為多個簡單問題。分解抽象 更高層次來講,人們...
設計模式 常用的設計模式介紹
簡單點說,就是乙個應用程式中,某個類的例項物件只有乙個,你沒有辦法去new,因為構造器是被private修飾的,一般通過getinstance 的方法來獲取它們的例項。getinstance 的返回值是乙個物件的引用,並不是乙個新的例項 懶漢式 執行緒不安全 public class singlet...