iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
自我挑戰組

一杯咖啡的設計課:30 天 Design Pattern 的自我修煉 系列

當 AI 已經能快速生成語法正確的程式碼,工程師的價值還剩下什麼?答案或許是「判斷力」,知道什麼時候該用、什麼時候不該用某個設計模式

本系列將以「柴咖啡」的成長故事貫穿 30 天:從得簡單點餐系統,到串接外送平台,再到連鎖店規模的訂單與庫存管理。透過這間店的擴張歷程,逐一實作 SOLID 原則與常見的設計模式中,並在每個階段思考:如果沒把這個階段學到的判斷條件講清楚就把系統丟給 AI 設計,它會在哪裡設計過頭、又會漏掉什麼

這是從新手視角出發、誠實記錄理解過程的學習筆記,希望能陪你我一起,練出在 AI 時代仍然不可取代的架構判斷力

參賽天數 29 天 | 共 29 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 21

Day 21|Flyweight (享元模式) 區分「內在」與「外在」狀態:不再重複建立微小物件

昨天用 Bridge 把「報表種類」跟「匯出格式」兩個維度拆開,結構型系列也來到最後一篇 今天來聊 Flyweight 享元模式 原文的定義,來自 Design...

2026-09-19 ‧ 由 noreg0361957 分享
DAY 22

Day 22|Strategy (策略模式) 把演算法當外掛隨插即用

結構型 Pattern 我們到 Day21 的 Flyweight 告一段落 接下來我們繼續進入行為型 Pattern(Behavioral)(灑花) 柴咖啡的...

2026-09-20 ‧ 由 noreg0361957 分享
DAY 23

Day 23|Observer (觀察者模式 )解耦狀態與反應:如何讓各部門同時接收事件

昨天用 Strategy 把促銷算法跟結帳流程拆開,今天我們繼續介紹行為型 Pattern 柴咖啡的故事,也陸續走到連鎖店規模化的階段,庫存跟訂單的一舉一動,開...

2026-09-21 ‧ 由 noreg0361957 分享
DAY 24

Day 24|Command (命令模式) 按錯能反悔?把操作封裝成物件,打造可撤銷重做的後台

昨天用 Observer 讓庫存跟訂單的狀態變化,可以同步通知多個對象,今天我們繼續行為型 Pattern 柴咖啡的故事,也持續在連鎖店規模化的路上,客訴退款這...

2026-09-22 ‧ 由 noreg0361957 分享
DAY 25

Day 25|Template Method(樣板方法模式) 用 Template Method 固化 SOP 咖啡品質

昨天用 Command 把客訴處理的動作包成一張張可以撤銷、重做的指令,今天我們繼續行為型 Pattern 柴咖啡連鎖化之後,分店越開越多、新店員也越來越多,但...

2026-09-23 ‧ 由 noreg0361957 分享
DAY 26

Day 26|State (狀態模式) 接單、製作到取餐,同一顆按鈕,如何依「當前狀態」做出不同反應

昨天用 Template Method 把飲料製作的 SOP 鎖進父類別,今天延續行為型 Pattern State 狀態模式 原文的定義,來自 Design...

2026-09-24 ‧ 由 noreg0361957 分享
DAY 27

Day 27|Chain of Responsibility (責任鏈模式) 如何利用責任鏈模式打造客訴分流防線

昨天用 State 把訂單的狀態機拆成物件,讓「現在能不能做這件事」交給狀態自己決定 今天要處理的是另一種常見的情境:一個請求進來,不知道最後會是誰處理,只知道...

2026-09-25 ‧ 由 noreg0361957 分享
DAY 28

Day 28|Mediator (中介者模式) 用 Mediator 打造多方即時調度中心

昨天用 Chain of Responsibility 把客訴依照店員、店長、客服中心的權限逐層上交 今天要處理的,是柴咖啡訂單背後另一種常見的情境:好幾個角色...

2026-09-26 ‧ 由 noreg0361957 分享
DAY 29

Day 29|Iterator (迭代器模式) 走訪與儲存的職責分離:讓遍歷演算法不再被資料結構綁架

昨天用 Mediator 把廚房、收銀、外送平台之間的協調邏輯收進一個中介者 今天聊聊柴咖啡最後一個 Pattern:Iterator 迭代器模式 原文的定義,...

2026-09-27 ‧ 由 noreg0361957 分享