1. 單例模式
限制只產生乙個物件。 if (object == null)
2. 簡單工廠模式
通過乙個工廠類根據條件來建立各種各樣的類。
3. 工廠方法模式
對工廠類進行改造分解,工廠類公升級為介面,一對一建立工廠類(針對要生產的類),實現工廠介面。
問題來了:簡單工廠和工廠方法有什麼優劣?
4. 迭代器模式
iterator,具有遍歷性質的模式。
5. 原型模式
建立多個相同內容的物件時需要乙個原型版本,針對這個原本轉殖出一些副本。呼叫obj.clone()。
6. **模式
**類和主體類繼承同乙個類,以表示操作相同。**類裡面例項化主體類,並呼叫主體類的操作。本質是主體對客體進行操作,但不是直接,而是通過了**。
7. 策略模式
多個策略(演算法不同,目的一樣)繼承同乙個抽象策略,放入乙個中介類context,只要呼叫中介類就可以判斷呼叫的是哪個策略,從而很好地封裝了演算法。
8. 模板方法模式
子類繼承抽象的父類,有權覆蓋父類中可變部分(抽象方法、鉤子方法),無權覆蓋父類中不可變部分(具體方法)。
9. 觀察者模式
通過乙個觀察者類,維護乙個全是目標類的列表,並逐個傳遞訊息給目標類。
10. 抽象工廠模式
原理和其他工廠模式類似,區別在於工廠類確定後不能擴充套件類,只能在類內增加方法,而產品類則可以無限制擴充套件並且與已存在的產品類無關。[反射的使用能讓工廠模式更加靈活--替換switch或if的]
11. 狀態模式
12. 介面卡模式
13. 橋梁模式
兩個聚合關係的物件,通過在乙個物件裡面傳入另乙個物件關聯一起。
設計模式學習筆記
1.簡單工廠模式 2.策略模式 3.單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因 4.開放 封閉原則 就是對軟體實體 類,模組,函式等 應該可以擴充套件,但是不可以修改,無論模組是多麼的 封閉 都會存在一些無法對之的封閉的變化。既然不可能完全封閉,設計人員就必須對他設計的模組應該對哪種變...
設計模式學習筆記
策略模式 用於情景 鴨子行為,鴨子型別可以繼承,鴨子行為變成介面,各種各樣的行為去實現介面,然後在具體類中呼叫行為介面具體實現子類。遊戲玩家 變換。觀察者模式 用於場景 主題 觀察者 天氣預報資料展示,當氣象站收集到新的資料時,像各個面板推送最新的資料,面板顯示最新資料。裝飾者模式 用於場景 飲料加...
IT學習筆記 設計模式
1.學會看uml類圖 在 動物 矩形框,它就代表乙個類 class 類圖分三層,第一層顯示類的名稱,如果是抽象類,則就用斜體顯示。第二層是類的特性,通常就是欄位和屬性。第三層是類的操作,通常是方法或行為。注意前面的符號,表示public,表示private,表示protected。上圖中的左下角的 ...