從何而來?
說到模式,我就有一種專業自豪感了。因為學的專業是工程管理,和建築方面打交道比較多,以至於每次有人問我學的什麼專業,我都會開玩笑的說,其實就是搬磚的。那麼為什麼說到模式,我就有一種專業自豪感呢?因為模式的思想就是基於建築的思想而產生的。
在建築過程中,慢慢發現人們對於舒適住宅和城市環境存在一些共同的認知。在《建築的永恆之道》中,正式給出了模式的定義:每個模式都描述了乙個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心,通過這種方式,我們可以無數次地重用那些已有的成功的解決方案,無需再重複相同的工作。
受這種思想的啟發,有了設計模式的思想出現。
有什麼?
六大設計原則,23種設計模式。
(1) 六個原則:
原則名稱
簡要說明
單一職責
乙個類或乙個介面只負責乙個功能
依賴倒轉
針對介面程式設計,不針對實現程式設計。 抽象不應依賴於細節,細節依賴於抽象
開放封閉
對擴充套件開放,對修改關閉
迪公尺特類與類,物件與物件之間聯絡越少越好
黎克特制轉換
子類可以擴充套件父類的功能,但不能改變父類原有的功能
合成/聚合
優先使用物件的合成或聚合而不是類繼承
(2)23種設計模式:
設計模式型別
包括建立型模式 (5種)
單例模式、抽象工廠模式、建造者模式、工廠模式、原型模式
結構型模式(7種)
介面卡模式、橋接模式、裝飾模式、組合模式、外觀模式、享元模式、**模式
行為型模式 (11種)
模版方法模式、命令模式、迭代器模式、觀察者模式、中介者模式、備忘錄模式、直譯器模式(interpreter模式)、狀態模式、策略模式、職責鏈模式、訪問者模式
如何更好的去使用?
從設計模式的來歷中,可以意識到,設計模式不僅僅是一種方法和技術,它更是一種思想和方**。
所以想要更好的使用設計模式,就要建立物件導向的思想,盡可能的面向介面程式設計,低耦合,高內聚,使得設計的程式盡可能的復用。
當然了,如果只是想,只是停留在知道的層面,不去做到,不去用,是不可能更好的去使用好設計模式的。所以,在學習設計模式的時候,一定要多思考,多練習。
search for meaning
設計模式 初識
大致將設計模式看了一遍,雖說是第一遍看,但是好像也有些精讀的嫌疑,沒有掌握快速閱讀的精髓,但這個不是重點。大話模式 首先想到的是 大話西遊 確實這本書有些這樣的傾向,就像書中敘述的,這不是一本程式集,這不是一本故事集,這是一本通過故事講述查詢如何設計的方法集。故事都太經典了,以至於看完書之後,問模式...
設計模式 初識
開閉原則就是說對擴充套件開放,對修改關閉。在程式需要進行拓展的時候,不能去修改原有的 而是要擴充套件原有 實現乙個熱插拔的效果。所以一句話概括就是 為了使程式的擴充套件性好,易於維護和公升級。想要達到這樣的效果,我們需要使用介面和抽象類等,後面的具體設計中我們會提到這點。不要存在多於乙個導致類變更的...
設計模式初識
設計模式重在在 模式 二字,模式代指程式化 模版化問題和其解決方案。在我們生活中存在很多模式,比如 背課文就存在模式,一般先通讀,再一段一段背誦,最後整合,同樣也存在其他背課文的模式。同樣,在建築設計中,也存在模式,比如中國傳統古典建築外觀都差不多,它們使用的就是同乙個設計和建造模式。模式就是人類在...