🎯 什麼情境該想到我
當你「有複雜的畫面流程與導覽邏輯,想用一個集中物件決定下一步顯示什麼」的時候。
⚙️ 怎麼用(步驟 / 公式)
意圖:用一個集中的物件管理畫面的流程與導覽——決定處理完某動作後,接著該執行什麼、顯示哪個畫面。
做法要點:
- 由應用控制器持有「應用程式狀態 → 下一步動作/畫面」的對應。
- 輸入控制器(頁面/前端控制器)只負責接請求,把流程決策交給應用控制器。
- 特別適合多步驟精靈、狀態機式的流程。
- 讓「畫面順序」這種領域決策集中、可測試、可重用於多種 UI。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 流程簡單(多數頁面各自獨立)時是多餘的一層。
- 只有在畫面流程本身具備明顯邏輯/狀態時才划算。
🔗 相關工具
- 前端控制器 Front Controller(常搭配,前端控制器接請求、應用控制器決定流程)
- 頁面控制器 Page Controller(也可搭配集中式流程管理)
- 模型-視圖-控制器 Model View Controller(補足其在複雜流程下的導覽職責)
- 企業應用架構模式