MVC 模式將應用程式劃分為三大核心角色:
此模式促進關注點分離,提升可維護性與可測試性。(詳細介紹可參考《設計模式》專書)
Struts 架構實作 MVC 概念,將其映射至 Web 應用程式組件:
| MVC 角色 | Struts 對應元件 |
|---|---|
| Model | 系統狀態 JavaBeans、商業邏輯 Beans、Entity EJBs |
| View | JSP 頁面、自訂標籤庫、Struts 內建標籤庫 |
| Controller | ActionServlet、ActionMapping、Action 類別 |
Model 可細分為「內部狀態」與「改變狀態的行為」:
checkOut() 方法處理信用卡驗證、下單出貨。也可用 Session EJBs 實作。小型應用可將簡單邏輯置於 Action 類別,但建議分離「做什麼」(商業邏輯)與「決定做什麼」(Controller)。<jsp:useBean> 解譯)ActionForm Beans 緊密配合<jsp:include> 包含於 JSP 結果中ActionServlet,透過 ActionMapping 設定請求 URI 路徑對應至具體 Action 類別(實作 Action 介面)Action 執行商業邏輯後,將控制權轉交適當 View 元件產生回應ActionMapping 支援擴充屬性,保存應用專屬資訊(未完待續)