今天要來說佔了接下來將近一半天數的設計模式了,畢竟說到擴充性,沒有比設計模式更加廣為人知的詞彙,畢竟設計模式可說是物件導向實踐的重要範本。更何況設計模式是一個已經有著接近30年歷史的作法,這中間已經被各領域的程式使用了不知道多少次,有些甚至是程式語言本身的特性之一。既然過了這麼久都還歷久不衰,實在沒有不去理解的理由。
以GoF的設計模式來說,這些模式被設計成三大類別。
- 生成模式(Creational Pattern):創造物件的過程及方式
- 結構模式(Structural Pattern):實現類別或物件之間組合的簡單作法
- 行為模式(Behavioral Pattern):類別或物件之間互動或是責任分配的方式
而這23個設計模式分別對應下面的部分。
Creational Patterns
- Factory Method
- Builder
- Prototype
- Singleton
- Abstract Method
Structural Patterns
- Composite
- Decorator
- Adapter
- Proxy
- Bridge
- Facade
- Flyweight
Behavioural Patterns
- Observer
- Template Method
- Strategy
- Interpreter
- Chain of Responsibility
- Command
- Iterator
- Mediator
- Memento
- State
- Visitor
不過這系列的文章不會每個都說就是了,有興趣看其他這系列沒說的可以翻閱參考資料看看。
之後的文章就會開始進入每種設計模式作法的部分了,敬請期待~
參考資料
設計模式:可復用面向對象軟體的基礎(典藏版)
設計模式與遊戲開發的完美結合(暢銷回饋版)