跳至主要内容

💡 設計模式概述(二)

設計模式是什麼?

  • 設計模式(Design Pattern)是一套
    • 可以反覆使用
    • 多數人知曉
    • 經過分類
  • 使用設計模式是為了
    • 可以重複使用程式
    • 提升可讀性
    • 降低出錯率

模式名稱(Patten Name)

  • 設計模式包含:
    1. 名稱
    2. 問題 (Problem): 包含設計中存在的問題與問題存在的原因
    3. 目的
    4. 解決方案(Solution):描述設計模式的組成,各自的職責與協作方式
  • 藉由模式名稱來描述設計模式包含的項目,以達到最有效的溝通
  • 大多數的模式都是使用其功能,或是模式結構來命名的

設計模式

  • 設計模式可分為:
    1. 創建型(Creational) -> 描述如何建立物件
    2. 結構型(Structural) -> 描述如何實現類別與物件的組合
    3. 行為型(Behavioral) -> 用於描述類別與物件之間怎樣交互及怎樣分配職責
  • 此外設計模式也可以分為:
    1. 類別模式 -> 例如:模板方法是類別行為型模式
    2. 物件模式 -> 例如:單例模式是物件創建型模式

創建型模式 - 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
門面模式 Facade 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