設計模式(Design Parttern)
我要正兒八經的弄懂設計模式。這是開始,先搞明白的什么是設計模式。
定義
設計模式是一套被 反復使用、多數人知曉、經過分類編目的、代碼設計經驗的總結。
為什么要用設計模式
為了 可重用 代碼,讓代碼更容易的被他人理解并保證代碼的 可靠性。
誰這么叼設計牛模式
四人組( Gang of Four ),簡稱 GoF ,分別是 Erich Gamma, **Richard Helm **, **Ralph Johnson **和 John Vlissides 。但不是他們設計的,是他們在 95年的時候整理歸納 23 種最常用的設計模式并會變成一本書 Design Patterns: Elements of Reusable Object-Oriented Software 就是:《設計模式:可復用面向對象軟件的基礎》 。是經過時間的驗證的,大家一定要學會。
怎么學
balabala ...
設計模式最重要的 4 個元素 模式名稱 (Parttern Name)、 問題(Problem) 、 解決方案 (Solution) 、 效果 (Consequences)。
學習設計模式我們就從這 4 個元素出發。一個一個弄清楚它。
-
模式名稱 (Parttern Name)
就是這個模式的名字。簡單明了的命名。 -
問題 (Problem)
描述了應該在何時使用模式,它包含了設計中存在的問題以及問題存在的原因 -
解決方案 (Solution)
該框架的解決方案。就是如何設計這個模式。描述了一個設計模式的組成成分,以及這些組成成分之間的相互關系,各自的職責和協作方式,通常解決方案通過UML類圖和核心代碼來進行描述。 -
效果 (Consequences)
描述了模式的優缺點以及在使用模式時應權衡的問題 (呈現)
說到這里,你都有啥框架
我們要掌握的應該除了GoF 說的 23 種模式還有加一個 簡單工廠模式 (Simple Factory Pattern)也很常用還簡單。我順手就學會了。
來個預覽先(參考)
設計模式概述.png
看圖得知,這是按照用途分為三種: 創建型(Creational, 結構型(Structural, 行為型(Behavioral 三種。
接下來就按照表格 模式名稱這一列順序一一講解。學習難度和使用頻率并不重要,因為我都要會。