以下資料來源大部分都是從下面這個網站而來,這裡僅作個人筆記整理:
參考網站: https://skyyen999.gitbooks.io/-study-design-pattern-in-java/content/
初學者會卡住的地方:
- 沒辦法分辨這些類似的模式 到底有什麼差異
- 想找一些真正有被框架或是API運作的程式碼,不過找了一下發現有點難
- 有些模式看起來很類似,甚至類別圖看起來是一模一樣的,自己覺得有疑惑的話會補充類似模式的異同
初學者需要先知道的東西:
- UML類別 (p.s. 請參考 https://misomiso43.medium.com/%E7%B0%A1%E5%96%AE%E7%90%86%E8%A7%A3-uml-%E9%A1%9E%E5%88%A5%E5%9C%96-f0b32a3272c)
- 物件導向程式設計基本原則 – SOLID
- Cohesion vs Coupling (p.s. 請參考https://www.jyt0532.com/2020/03/23/isp/ 內的說明)
設計模式相關參考書籍:
- 設計模式的聖經Design Patterns : Elements of Re-usable Object-Oriented Software,發現這本書很難,
- 大話設計模式
- 深入淺出 – 設計模式
- 设计模式Java版
- Design Pattern In Java Tutorail
- SOLID Principles of Object-Oriented Design and Architecture
- SOLID Principles: Introducing Software Architecture & Design
Design pattern三大類:
- Creational Patterns
- Structural Patterns
- Behavioral Patterns