什麼是設計模式?(Design Pattern)

Mengm發表於2017-09-12

設計模式(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)也很常用還簡單。我順手就學會了。

來個預覽先(參考

型別

模式名稱

學習難度

使用頻率

建立型模式

Creational Pattern

單例模式

Singleton Pattern

★☆☆☆☆

★★★★☆

簡單工廠模式

Simple Factory Pattern

★★☆☆☆

★★★☆☆

工廠方法模式

Factory Method Pattern

★★☆☆☆

★★★★★

抽象工廠模式

Abstract  Factory Pattern

★★★★☆

★★★★★

原型模式

Prototype Pattern

★★★☆☆

★★★☆☆

建造者模式

Builder Pattern

★★★★☆

★★☆☆☆

結構型模式

Structural Pattern

介面卡模式

Adapter Pattern

★★☆☆☆

★★★★☆

橋接模式

Bridge  Pattern

★★★☆☆

★★★☆☆

組合模式

Composite  Pattern

★★★☆☆

★★★★☆

裝飾模式

Decorator  Pattern

★★★☆☆

★★★☆☆

外觀模式

Façade  Pattern

★☆☆☆☆

★★★★★

享元模式

Flyweight  Pattern

★★★★☆

★☆☆☆☆

代理模式

Proxy  Pattern

★★★☆☆

★★★★☆

行為型模式

Behavioral Pattern

職責鏈模式

Chain  of Responsibility Pattern

★★★☆☆

★★☆☆☆

命令模式

Command  Pattern

★★★☆☆

★★★★☆

直譯器模式

Interpreter  Pattern

★★★★★

★☆☆☆☆

迭代器模式

Iterator  Pattern

★★★☆☆

★★★★★

中介者模式

Mediator  Pattern

★★★☆☆

★★☆☆☆

備忘錄模式

Memento  Pattern

★★☆☆☆

★★☆☆☆

觀察者模式

Observer  Pattern

★★★☆☆

★★★★★

狀態模式

State  Pattern

★★★☆☆

★★★☆☆

策略模式

Strategy  Pattern

★☆☆☆☆

★★★★☆

模板方法模式

Template  Method Pattern

★★☆☆☆

★★★☆☆

訪問者模式

Visitor  Pattern

★★★★☆

★☆☆☆☆



看圖得知,這是按照用途分為三種: 建立型(Creational, 結構型(Structural, 行為型(Behavioral 三種。
接下來就按照表格 模式名稱這一列順序一一講解。學習難度和使用頻率並不重要,因為我都要會。

更新中:
1. 什麼是設計模式
2. 單例模式
3. 簡單工廠模式
這裡總是最新的
看完給個star鼓勵一下

相關文章