《大話設計模式》的確寫的很不錯。 把晦澀解懂的設計模式,講的通俗易懂。 邊讀邊用evernote做筆記,
把印象深刻的整理了一下。
先補習一下uml的圖示法:
繼承,介面,組合,依賴,關聯
策略模式(strategy)
定義一系列演算法,所有演算法完成的都是相同的工作,只是實現不同。減少演算法與使用類之間的藕合。計費策略會用到很多。
工廠模式(factory mode)
提供乙個方法供客戶端呼叫,生成不同的物件。會話就是使用的工廠模式。由工廠生成不同的會話物件,會話又由基類的介面統一管理
依賴倒轉(黎克特制替換lsp)
讓呼叫者不關心子類的具體實現。
由於是用的是介面,實現都在子類。依賴倒轉其實可以說是物件導向的標誌,即程式中所有的依賴關係都終止與抽象類或介面,那就是物件導向,反之就是過程設計。
觀察者模式,也叫發布與訂購模式(publish/subscribe)
事件委託(event delegate)
定義了一種一對多的依賴,讓多個觀察者監聽某乙個主題,並使它們自己更新自己。
這兩個模式是很相近。 尤其是事件委託,在windows桌面程式設計當中用的非常多。
感覺上,對於監控與告警類的需求,可以用這種模式。 當出現一類嚴重異常時,發
志一些告警訊息。
中介者模式(mediator)
用乙個中介來封裝一系列的物件互動。下面的圖的對比很形象。
這個模式,讓我想起了預設閘道器與路由, 對於互動複雜的情況下,使用乙個中介模組,實現路由**,會將各個模組的邏輯複雜度降低。
命令模式(command)
1)容易設計命令佇列
2)容易記錄命令日誌
3)允許接收方否決請求
命令模式,把請求的物件與執行的物件分割開。
書上舉的例子很形象,路邊的燒烤攤,老闆手忙腳亂。 燒燒店有服務員,下訂單,變更訂單, 下單,收費都很順。
大話設計模式讀書筆記一
1矩形框代表乙個類。如果類是抽象的,那麼要用斜體表示。第二層是字段和屬性。第三次是類的方法和行為。對應的屬性表示為 notation meaning public private protected 乙個例子就是 如果定義乙個介面。要在名稱上面加 介面也用棒棒糖語法表示 下面將類與類之間的關係。知道...
讀書筆記 大話設計模式(上)
最近翻了大話設計模式,裡面的 很多,很值得細細品味,值得借鑑,可惜時間不太夠,就草草記錄了下一些重要的點,還有半本的下個月再寫。工廠模式 策略模式 單一職責。拍照就是拍照,單獨出來比較好。開放 封閉原則。對程式的改動是通過增加新 進行的,而不是更改現有的 一國兩制,考研找工作兩不誤。依賴倒轉原則。提...
讀書筆記 大話設計模式(一)
在uml類圖中總共有 種圖示 對於類和介面,總共有兩種,下面只有一行表示方法的介面以及下面有兩行分別顯示屬性和方法的類。2.1單一職責原則 就乙個類而言,應有且僅有乙個導致它被修改的原因。也就是說,我們在設計類時,應當盡量保證每乙個類只承擔一項工作的職責,只有當這項職責發生變化,我們才需要修改類。如...