Day 23|Controller、EF Core 與第三方 SDK 為什麼不該決定 Use Case?用六角形架構隔離外部細節
2026 iThome 鐵人賽 AI CleanCode Day 23:安安~我是ChiYu~ 昨天整理元件邊界時,我保留了既有通知 Port,卻也發現一個不能忽略的問題:它接收的參數仍是 EF Core 使用的 WorkItem Entity。表面上隔離了通知 Provider,核心實際上還在說 Pers…
All time
全部文章依開站以來的 GoatCounter 累計點閱數重新排序,長銷文章都在這裡。資料每天自動同步一次。
Ranked by views
有歷史累計點閱紀錄的文章排在前面,其餘依發布日期排列;點閱數每天同步一次。
2026 iThome 鐵人賽 AI CleanCode Day 23:安安~我是ChiYu~ 昨天整理元件邊界時,我保留了既有通知 Port,卻也發現一個不能忽略的問題:它接收的參數仍是 EF Core 使用的 WorkItem Entity。表面上隔離了通知 Provider,核心實際上還在說 Pers…
2026 iThome 鐵人賽 WebMCP Day 23:安安~我是ChiYu~ 昨天把五個 Tool 全部排好位置後,我很聽話地進入 feature freeze:不加第六個 Tool,也不再 偷偷塞一個「這個應該很實用吧」的新功能。 接著畫面上出現兩種讓工程師心情很好的綠燈。第一種是 Inspecto…
2026 iThome 鐵人賽 Vibe Coding UI Day 23:安安~我是ChiYu~ 通知中心留下了一筆新工作: 匯入 24 位成員。 這不是一瞬間完成的動作,我最早給 AI 的 Loading 需求卻只有一句: 資料載入時先放一個轉圈圈。 第一版真的很聽話。按下開始,畫面中央出現一顆 Spi…
2026 iThome 鐵人賽 AI CleanCode Day 22:安安~我是ChiYu~ 昨天,我把工作項目的生命週期與通知傳送拆成兩條 Use Case,但它們仍在同一個 API Host 裡執行。通知流程只認得 IWorkItemNotificationSender,實際使用 Demo 還是 Qu…
2026 iThome 鐵人賽 WebMCP Day 22:安安~我是ChiYu~ 昨天把取消報名接上之後,產品層的 catalog 終於湊齊五支 Tool。搜尋、詳情、收藏、準備 報名、準備取消,單獨測的時候都知道自己該做什麼。 我原本以為接下來只要把它們排好順序,三條 Journey 就能順利收工。結果…
2026 iThome 鐵人賽 Vibe Coding UI Day 22:安安~我是ChiYu~ 訊息站對位置後,LumenDesk 接著發生三件事: - 成員角色儲存成功。 - 「八月活動文案」被移除。 - 有人送來新的專案申請。 我把三件事縮成一句: 儲存完成後跳一個通知;刪除草稿後也跳同一種。新的申…
2026 iThome 鐵人賽 AI CleanCode Day 21:安安~我是ChiYu~ 昨天,我把會獨立改變的重試規則從 Dispatcher 分離出來。但打開目前的 Solution,裡面早已有三個正式 Project,Build 後也會產生多個 DLL。這是不是代表架構早就取得獨立性了? 還不一…
2026 iThome 鐵人賽 WebMCP Day 21:安安~我是ChiYu~ 昨天確認 Agent 能把報名資料填進表單,並在正式送出前停下來。我原本以為,把同一個 prepare-only 模式搬到取消流程,改個名稱就能收工。 我先在「我的報名」頁輸入: 問題馬上出現:這個,是哪一個? 取消不只是另…
2026 iThome 鐵人賽 Vibe Coding UI Day 21:安安~我是ChiYu~ 管理員準備儲存成員角色時,畫面同時冒出三則訊息: - 通知管道尚未選擇,設定無法儲存。 - 系統今晚會維護一小時。 - 新成員最好先從最小權限開始。 我當時留給 AI 的需求只有一句: 系統有錯誤或提醒時,顯…
2026 iThome 鐵人賽 AI CleanCode Day 20:安安~我是ChiYu~ 昨天,我們處理了 HTTP 與背景 Worker 同時選中同一筆 Work Item、進而重複送出通知的問題。資料更新、通知傳送、失敗重試與取消路徑,也都有對應測試。 從行為價值來看,昨天的需求已經完成。不過,測…