重用的設計方法、多維管理模式
設計模式四要素:
設計模式分為三類:
結構性模式
行為型模式
23種設計模式總覽,加粗的為課上學過的
建立型結構型
行為型類
工廠方法(factory method)介面卡(adapter)直譯器(interpreter)、
模板方法(template method)
物件抽象工廠(abstract factory)、
建造者(builder)、
原型(prototype)、
單例(singleton)橋接(bridge)、
組成(composite)、
裝飾(decorator)、
外觀(facade)、
享元(flyweight)、
**(proxy)
責任鏈(chain of responsibility)、
命令(command)、
迭代器(iterator)、
中介者(mediator)、
備忘錄(memento)、
觀察者(observer)、
狀態(state)、
策略(strategy)、
訪問者(visitor)
其中:
行為型模式關注系統中物件之間的互動,明確它們的職責劃分,重點是物件行為型模式。
「開-閉」原則(open-closed principles, ocp)
對於擴充套件是開放的
模組的行為是可擴充套件的,我們可以根據需求的變化來改變模組的功能
對於修改是封閉的
對模組行為進行擴充套件時,不必改動模組的源**或二進位制**(需要重新編譯即為修改)
如何做到?
抽象:把乙個功能的通用部分和實現細節清晰的分離開來;通過派生(繼承)來擴充套件功能
物件導向設計的核心
黎克特制代換原則(liskov substitution principles, lsp)
依賴倒轉原則(dependency inversion principles, dip)
介面隔離原則(inte***ce segregation principles, isp)
迪公尺特法則(law of demeter, lod)
組合/聚合復用原則(composition/aggregation principles, carp)
盡量使用合成/聚合,而不是使用繼承
另外:複習uml類圖
《設計模式》 總複習(一)
從今天開始就要開始對設計模式進行複習了。首先還是回顧一下設計模式的核心幾大原則 一 開閉原則 ocp 乙個軟體實體應當對擴充套件開放,對修改關閉。二 黎克特制代換原則 lsp 子型別必須能夠代替他們的基型別。三 依賴導致原則 dip 要依賴於抽象,不要依賴於具體。四 介面隔離原則 isp 使用多個專...
設計模式複習
懶漢式載入方式 在呼叫getinstance判斷為null進行第一次初始化,通過加鎖實現多執行緒安全 雙重檢驗鎖機制,兩次判斷null,加類鎖,上volatile修飾物件防止指令重排 餓漢式載入方式 不需要加鎖即可執行緒安全,但類載入時就初始化,浪費記憶體 基於classloader機制 簡單工廠模...
設計模式複習 策略模式
封裝一系列演算法,演算法之間互相增加替換,不會影響到客戶端,相當於是先定義乙個統一介面,然後各個演算法繼承這個介面實現,然後,再層狀一層邏輯呼叫,客戶端只需要呼叫這個最後封裝的類就好了,但是這樣的話客戶端在演算法選擇使用的時候需要自己例項化具體演算法,所以可以考慮用工廠把這個策略類繼續優化下即可。實...