🎯 什麼情境該想到我
當你「想讓所有請求都先進同一個入口,再集中做驗證、路由等共同處理」的時候。
⚙️ 怎麼用(步驟 / 公式)
意圖:用單一物件統一接收並處理所有 Web 請求,集中共同事務、再分派給對應處理邏輯。
做法要點:
- 拆成兩部分:處理器(Handler)與命令(Command)。
- 處理器:所有請求的單一入口,負責共同事務(驗證、授權、記錄)並決定要執行哪個命令。
- 命令:針對特定請求的實際處理動作,由處理器動態選擇並執行。
- 新增行為時多半只需加命令,共同邏輯集中在一處。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 比頁面控制器複雜,簡單網站不划算。
- 單一入口設計不當可能成為瓶頸或耦合點。
- 需要對命令的動態載入/分派機制有掌握。
🔗 相關工具
- 頁面控制器 Page Controller(相對方案:每頁各自一個控制器)
- 模型-視圖-控制器 Model View Controller(前端控制器是其控制器角色的一種實作)
- 應用控制器 Application Controller(常搭配,負責決定命令後的畫面流程)
- 企業應用架構模式