《Head first設計模式》學習筆記

2022-03-12 11:39:38 字數 760 閱讀 7827

開閉原則的意思是:對擴充套件開放,對修改關閉。在程式需要進行拓展的時候,不能去修改原有的**,實現乙個熱插拔的效果。簡言之,是為了使程式的擴充套件性好,易於維護和公升級。想要達到這樣的效果,我們需要使用介面和抽象類,後面的具體設計中我們會提到這點。

黎克特制代換原則是物件導向設計的基本原則之一。 黎克特制代換原則中說,任何基類可以出現的地方,子類一定可以出現。lsp 是繼承復用的基石,只有當派生類可以替換掉基類,且軟體單位的功能不受到影響時,基類才能真正被復用,而派生類也能夠在基類的基礎上增加新的行為。黎克特制代換原則是對開閉原則的補充。實現開閉原則的關鍵步驟就是抽象化,而基類與子類的繼承關係就是抽象化的具體實現,所以黎克特制代換原則是對實現抽象化的具體步驟的規範。

這個原則是開閉原則的基礎,具體內容:針對介面程式設計,依賴於抽象而不依賴於具體。

這個原則的意思是:使用多個隔離的介面,比使用單個介面要好。它還有另外乙個意思是:降低類之間的耦合度。由此可見,其實設計模式就是從大型軟體架構出發、便於公升級和維護的軟體設計思想,它強調降低依賴,降低耦合。

最少知道原則是指:乙個實體應當盡量少地與其他實體之間發生相互作用,使得系統功能模組相對獨立。

合成復用原則是指:盡量使用合成/聚合的方式,而不是使用繼承。

headfirst設計模式

花了一周多一點的時間看完了headfirst的設計模式。看完之後有一種恍然大悟的感覺,仔細想想有覺得自己好像什麼也看懂。簡單說下對這本書的一點感悟吧,headfirst的書比較通俗易懂,之前看了四人幫的設計模式,看一半就有一種痛不欲生的感覺,自己水平有限,看不懂,也就沒在勉強自己了。對於模式其實簡單...

HeadFirst設計模式學習筆記02

執行時擴充套件,遠比編譯時繼承威力大。熟悉了裝飾的技巧,能夠在不改變任何底層 的情況下,給你的物件賦予新的職責。星巴茲starbuzz以擴張速度快聞名,準備更新訂單系統,以適應他們的飲料 要求。原先類的設計 現在想購買咖啡時,可以要求在其中加入各種調料,如蒸奶 steamed milk 豆漿 soy...

HeadFirst 設計模式 工廠模式

定義乙個建立物件的介面,由子類決定要例項化的類。工廠方法將類例項推遲到子類。依賴倒置。第一種方式是 class pizzastore public pizza orderpizza string type class pizzafactory pizza pizza null 將pizza這個例項提...