案例範圍
這是客戶專案的技術整理。為保護客戶資訊,本文不描述品牌、資料表、欄位、實際營運流程或外部服務細節,只談可重用的架構決策。
型別不只存在前端
表單欄位、執行期驗證與資料存取若各自維護,很容易在功能演進後失去同步。這個案例以 TypeScript 和 schema validation 建立清楚邊界,讓輸入錯誤在進入資料層前就能被辨識。
權限放在資料邊界
前端隱藏按鈕只改善介面,不能取代權限控制。資料存取規則由後端資料層執行,前端再依使用者能力呈現操作,形成兩層責任清楚的保護。
複雜狀態要顯式建模
當一筆資料同時具有多個狀態面向,單一布林值很快會產生矛盾組合。將可接受的狀態轉移寫成明確規則,才能讓 UI、驗證與報表對同一件事有一致解讀。