在了解了設計模式的歷史和分類後,應該如何學習設計模式呢?在學習設計模式之前,讀者一定要樹立一種意識,那就是:設計模式並不只是一種方法和技術,它更是一種思想、乙個方**。它和具體的語言沒有關係,學習設計模式最主要的目的就是要建立物件導向的思想,盡可能地面向介面程式設計、低耦合、高內聚,使你設計的程式盡可能地復用。
有些軟體開發人員,在程式設計時,總想著往某個設計模式上套,其實這樣是不對的,並沒有真正掌握設計模式的思想。其實很多時候讀者用了某種設計模式,只是自己不知道這個模式叫什麼名字而已。因此,在程式設計時,要根據自己的理解,使用合適的設計模式。
而有另外一些軟體開發人員,在程式設計時,動不動就給類起個類似模式的名字,比如叫某某façade、某某factory等,其實類裡面的內容和設計模式根本沒有一點關係,只是用來標榜自己懂設計模式而已。
因此,學習設計模式,首先要了解有哪些方面的設計模式可以供開發人員使用,然後再分別研究每個設計模式的原理,使用時機和方法,也就是說要在什麼情況下才使用某個設計模式,在了解某個設計模式的使用時機時,還要了解此時如果不使用這個設計模式,會造成什麼樣的後果。當對每個模式的原理和使用方法都了解了以後,更重要的是,學習物件導向的思想方式,在掌握物件導向的思想方式後,再回過頭來看設計模式,就會有更深刻的理解,最後,學習設計模式,一定要勤學多練。
設計模式學習筆記(14) 享元模式
享元模式 1.介紹 享元模式 flyweight pattern 主要用於減少建立物件的數量,以減少記憶體占用和提高效能。這種型別的設計模式屬於結構型模式,它提供了減少物件數量從而改善應用所需的物件結構的方式。2.方法 運用共享技術有效地支援大量細粒度的物件。3.主要解決 在有大量物件時,有可能會造...
設計模式(14) 命令模式
命令模式,用來對請求的傳送者和請求的接收者進行解耦的一種設計模式,為什麼叫命令模式呢?因為在應用該模式時,引入了乙個命令物件。命令模式有三個角色,請求傳送者,命令物件,請求的接收者 處理者 誰來給請求傳送者和接收者解耦呢,命令物件,所以我們一思考就知道命令模式應該是這樣的 請求傳送者傳送請求,為了增...
設計模式(14) 命令模式
命令模式 command pattern 是一種資料驅動的設計模式,它屬於行為型模式。請求以命令的形式包裹在物件中,並傳給呼叫物件。呼叫物件尋找可以處理該命令的合適的物件,並把該命令傳給相應的物件,該物件執行命令。首先先定義乙個command介面 inte ce command 再定義幾個comma...