學習方向
設計模式 (Design Pattern) 一般是指四人幫 (GoF) 的著作中,提及的 23 種設計模式。
學習方式
我個人的學習方式主要是先看過 Refactoring Guru 的講解,再輸入到 NotebookLM 做快速統整與隨堂測驗,建立初步概念:

再透過 Gemini 把 NotebookLM 的紀錄餵進來:

接著就可以開始讓 Gemini 出練習題,實際走走看語法跟流程:

我的提示詞:
我是前端工程師,剛學完 __ Pattern。你可以使用 pair programming 的方式,引導我怎麼實踐嗎?你來定義結構跟情境,我來補上關鍵邏輯。
練習題可以由簡單架構逐步擴大成完整架構。我會將寫好的答案回傳,你來進行 code review。
使用語言:TypeScript預期目標
最好是這樣填空題寫一寫就學會設計模式啦?
當然不…所以這些學習不是要完美復刻 GoF 的思想跟技術,而是希望未來遇到問題時,我知道有「設計模式」可以參考,而不會束手無策或是自己想了一堆繞遠路的寫法。
設計模式不是套件或函式庫,是指特定情境下組織程式碼的方式,如果本身有一定程度的 SOLID、Clean Code 觀念,會隱約察覺有一些模式就是自己平常在做的事,或是我們常用的工具就是這樣設計的感覺。
決定使用什麼設計模式來建置或重構之前,還需要進行 OOAD,也就是分析與規劃,通常會使用 UML 來拆解整個情境與流程,開始實作設計模式已經是很後面的階段。OOAD 是比較專門的領域,我也不會,所以這裡的筆記暫時不會有情境定義與分析規劃的環節。