oo基礎算法
抽象編程
封裝緩存
多態線程
繼承設計
oo原則日誌
封裝變化對象
多用組合,少用繼承繼承
針對接口編程,不針對實現編程(策略模式)接口
爲交互對象之間的鬆耦合設計而努力(觀察者模式)隊列
對擴展開放,對修改關閉(裝飾者模式)
依賴抽象,不要依賴具體類(工廠模式)
一、策略模式(22)
策略模式定義了算法族,分別封裝起來,讓他們之間能夠互相替換,此模式讓算法的變化獨立於使用算法的客戶。
二、觀察者模式(56)
觀察者模式 -- 在對象之間定義一對多的依賴,這樣一來,當一個對象改變狀態,依賴它的對象都會收到通知,並自動更新。
三、裝飾者模式(92)
裝飾者模式 -- 動態地將責任附加到對象上。想要擴展功能,裝飾者提供有別與繼承的另外一種選擇
四、工廠方法模式(131)
工廠模式 -- 定義了一個建立對象的接口,但由子類決定要定實例化的類是哪個,工廠方法讓類把實例化推遲到子類。
五、抽象工廠模式(156,157)
抽象工廠模式 -- 提供一個接口,用於建立相關或依賴對象的家族,而不須要明確指定具體類。
六、單件模式
使用場景:線程池(threadpool),緩存(cache),對話框,處理偏好設置和註冊表(registry)的對象,日誌對象,充當打印機,顯卡等設備的驅動程序對象。
單件模式 -- 確保一個類只有一個實例,並提供一個全局訪問點
1)同步getInstance方法
2)急切實例化
3)雙重檢查加鎖
七、命令模式
命令模式 -- 將「請求」封裝成對象,以便使用不一樣的請求、隊列或者日誌來參數化其餘對象。命令模式也支持可撤銷的操做。