工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
介面卡模式、裝飾器模式、**模式、外觀模式、橋接模式、組合模式、享元模式。
策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。
並髮型模式和執行緒池模式。
定義:軟體中的物件(類、模組、函式等)應該對於擴充套件是開放的,對於修改是封閉的。實現開閉原則等重要手段是抽象和介面
在軟體的生命週期中,因為變化,公升級和維護等原因對軟體原有**進行修改是,可能會將錯誤引入原本已經進過測試的就**中
定義:所有引用基類的地方必須能透明的使用其子類物件。lsp依賴於繼承,多型這兩大特性。
只要父類能出現的地方,自樂就可以出現,而且替換後不會產生任何錯誤和異常,反之則未必。
總結兩個字:抽象,依賴於繼承。
例項:android 原始碼中的view和其子類,imagecache和其 實現類。
關鍵點:
高層模組不應該依賴低層模組,兩者都應該依賴其抽象。
抽象(抽象類或介面)不應該依賴細節。
細節(實現類)應該依賴抽象。
表現:模組間的依賴通過抽象發生,實現類之間不發生直接的依賴關係,其依賴關係是通過介面或抽象類產生的。
例項:注入imagecache,而非imagecache的子類
定義:客戶端不應該依賴它不需要的介面。(類間的依賴關係應該建立在最小的介面上)
例項:closeable介面的關閉,只需要關閉功能。
imagecache介面只需要有put和get功能。
也稱為最小知識原則,
定義:乙個物件應該對其他物件有最少的了解(只與直接的朋友通訊)。
例項:中介找房子,只需要和中介打交道即可。
sd卡快取,只需要和imagecache打交道,而不需要直到disklrucache的存在
設計模式 物件導向六大原則
本文為讀書筆記以及乙個觀後理解寫下,有誤望能指出 簡單理解就是在乙個類中完成本類的職責而不要過多新增其他的職責,以乙個反例的載入器來理解 public class imageloader 展示 dispalyimage downloadimage imageloader中除了載入功能之外,還加入了乙...
設計模式 物件導向六大原則
設計模式 設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。使用設計模式是為了可重用 讓 更容易被他人理解 保證 可靠性。設計模式於己於他人於系統都是多贏的,設計模式使 編制真正工程化。設計模式分為三種型別,分別是 建立型模式 結構型模式,行為型...
物件導向 六大原則
舉乙個簡單的例子,登入功能。一般登入需要包括幾個基本的功能 1.登入頁面 2.接受使用者輸入 3.提交使用者輸入資料到服務端驗證 4.返回驗證結果並提示給使用者 按照單一原則我們就可以將登入功能拆分成兩個類,登入頁類和網路請求類。其實因為單一原則並不是很容易劃分,很多時候需要根據個人經驗和實際情況 ...