以下的設計模式則是我個人從 Gof 學習中的個人體會與實作,並增加幾個導入或衍生的簡單模式。
- Creational 模式
物件的產生需要消耗系統資源,所以如何有效率的產生、管理與操作物件,一直都是值得討論的課題, Creational 模式即與物件的建立相關,在這個分類下的模式給出了一些指導原則及設計的方向。
- Structural 模式
如何設計物件之間的靜態結構,如何完成物件之間的繼承、實現與依賴關係,這關乎著系統設計出來是否健壯(robust):像是易懂、易維護、易修改、耦合度低等等議題。Structural 模式正如其名,其分類下的模式給出了在不同場合下所適用的各種物件關係結構。
- Behavioral 模式
物件之間的合作行為構成了程式最終的行為,物件之間若有設計良好的行為互動,不僅使得程式執行時更有效率,更可以讓物件的職責更為清晰、整個程式的動態結構(像是物件調度)更有彈性。
-
多執行緒模式
- Guarded Suspension 模式
- Producer Consumer 模式
- Worker Thread 模式
- Thread-Per-Message 模式
- Future 模式
- Read-Write-Lock 模式
- Two-phase Termination 模式
- Thread-Specific Storage 模式
-
參考資料