iT邦幫忙

鐵人檔案

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

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

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

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

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

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

Day 1|如何鼓起勇氣參加鐵人賽?如何選題?

前言與初衷 嗨大家好,我是 Derek,一個經驗值還在點的菜鳥轉職仔 在 LLM 誕生的年份選擇踏入 web 開發,在一個方便且快速的年代,任何事情都可以問 A...

2026-08-30 ‧ 由 noreg0361957 分享
DAY 2

Day 2|這個時代還要學 Design Pattern 嗎

一個你可能也遇過的場景 下午艷陽高照的時候,菜鳥工程師阿柴接到了好朋友小黑的電話 阿柴: yo bro, what's up? 小黑: 阿柴救命,我的咖啡店柴咖...

2026-08-31 ‧ 由 noreg0361957 分享
DAY 3

Day 3|S(單一職責) 一個類別,請只給它一個變心的理由

在講故事之前,在上篇結尾有提到: SOLID,那什麼是 SOLID 呢? SOLID 是物件導向設計原則的五個英文縮寫,五個原則,每個縮寫都是一個單字,說明軟體...

2026-09-01 ‧ 由 noreg0361957 分享
DAY 4

Day 4|O(開放封閉) 柴咖啡新品銷售,如何擴充菜單才不會搞砸?

上一篇結尾提到,柴咖啡要開始加新口味了~~ 阿柴用 SRP 把訂單服務細拆成訂單計算、發票列印、LINE通知、存入訂單四個各司其職的 class,本來以為可以鬆...

2026-09-02 ‧ 由 noreg0361957 分享
DAY 5

Day 5|L (里氏替換) 柴咖啡促銷,買一送一遇上無法兌現的承諾

接下來我們談到 Liskov Substitution principle (里氏替換原則 LSP)看到這個原則,我第一個問題是,里氏是誰?(失禮) 原來 Li...

2026-09-03 ‧ 由 noreg0361957 分享
DAY 6

Day 6|I(介面隔離) 會員制上線,如何不讓集點功能搞垮結帳系統?

我們來繼續看 SOLID 的第四條: Interface Segregation Principle(介面隔離原則,簡稱 ISP) 先來認識一下 ISP 的身世...

2026-09-04 ‧ 由 noreg0361957 分享
DAY 7

Day 7|D (依賴反轉原則) 柴咖啡如何優雅解開資料庫與 LINE 的枷鎖?

上一篇用 ISP 讓結帳跟集點兩邊,各自只依賴自己用得到的方法 這篇我們來看 SOLID 最後一條:Dependency Inversion Principle...

2026-09-05 ‧ 由 noreg0361957 分享