策略模式:
用於情景:
鴨子行為,鴨子型別可以繼承,鴨子行為變成介面,各種各樣的行為去實現介面,然後在具體類中呼叫行為介面具體實現子類。
遊戲玩家**變換。
觀察者模式:
用於場景
主題-----觀察者
天氣預報資料展示,當氣象站收集到新的資料時,像各個面板推送最新的資料,面板顯示最新資料。
裝飾者模式:
用於場景
飲料加調料
調料將飲料一層一層包裝。
工廠模式
簡單工廠模式:直接建立乙個工廠,使用時從工廠拿。
工廠模式:pizza經典例子
應用:一般在提供api介面可以使用,使用輕易反射實現。
單例模式:
用於某些只有乙個物件時。
命令模式:
遙控器的經典例子,操控各個電器的開關。
介面卡模式:
2插口變3插口的經典例子
外觀模式:
為了更方便的使用,使用乙個類對各個類呼叫,有點像遙控器,家庭影院經典例子。
模板模式:
其實就是把繼承抽象類,抽象類實現了部分共同的功能,剩下的抽象方法由子類完成,還有就是一般模板有乙個實現了的空的方法,並丟出不支援該操作的異常,子類可以實現也可以不實現,稱為鉤子
迭代器模式:
餐廳多張選單的經典例子,每張選單都有乙個自己的迭代器,服務員只需要獲取選單迭代器就可以列印,但這不適合有2級選單的情況。
組合模式:
同樣是餐廳多張餐單,但選單下還有2級選單。建立乙個抽象類menucomponent,所有餐廳的選單都繼承,並且有自己的列印方法,在服務員這只要執行列印就可以,迭代放在自己的列印方法中。
設計模式學習筆記
1.簡單工廠模式 2.策略模式 3.單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因 4.開放 封閉原則 就是對軟體實體 類,模組,函式等 應該可以擴充套件,但是不可以修改,無論模組是多麼的 封閉 都會存在一些無法對之的封閉的變化。既然不可能完全封閉,設計人員就必須對他設計的模組應該對哪種變...
設計模式學習筆記
1.單例模式 限制只產生乙個物件。if object null 2.簡單工廠模式 通過乙個工廠類根據條件來建立各種各樣的類。3.工廠方法模式 對工廠類進行改造分解,工廠類公升級為介面,一對一建立工廠類 針對要生產的類 實現工廠介面。問題來了 簡單工廠和工廠方法有什麼優劣?4.迭代器模式 iterat...
IT學習筆記 設計模式
1.學會看uml類圖 在 動物 矩形框,它就代表乙個類 class 類圖分三層,第一層顯示類的名稱,如果是抽象類,則就用斜體顯示。第二層是類的特性,通常就是欄位和屬性。第三層是類的操作,通常是方法或行為。注意前面的符號,表示public,表示private,表示protected。上圖中的左下角的 ...