MVC(模型-視圖-控制結構)是軟件開發中常用的一種架構模式。它強制性的將輸入、處理和輸出分開。使應用程序被分成三個核心部件:模型 (Model)、視圖(View)和控制(Controller)。它們各自處理自己的任務,有效地分離存儲數據和展示數據功能模塊以降低它們之間的耦合度。
MVC(模型-視圖-控制結構)是軟件開發中常用的一種架構模式。它強制性的將輸入、處理和輸出分開。使應用程序被分成三個核心部件:模型 (Model)、視圖(View)和控制(Controller)。它們各自處理自己的任務,有效地分離存儲數據和展示數據功能模塊以降低它們之間的耦合度。
模型層主要負責保存和訪問業務數據,執行業務邏輯和操作。這一層是現實業務功能的核心。模型”有對數據直接訪問的權力,例如對數據庫的訪問。“模型”不依賴“視圖”和“控制器”,也就是說,模型不關心它會被如何顯示或是如何被操作。
視圖層主要負責顯示模型層的內容。它指定來自模型層的數據如何被顯示出來,當模型變化的時候,它將自動更新。另外視圖層也會將用戶的輸入傳送給控制器。
控制器接受用戶的輸入並調用模型和視圖去完成用戶的需求。所以當單擊Web頁面中的超鏈接和發送HTML表單時,控制器本身不輸出任何東西和做任何處理。它只是接收請求並決定調用哪個模型構件去處理請求,然後確定用哪個視圖來顯示模型處理返回的數據。
可見:
首先控制器接收用戶的請求,並決定應該調用哪個模型來進行處理,然後模型用業務邏輯來處理用戶的請求並返回數據,最後控制器用相應的視圖格式化模型返回的數據,並通過表示層呈現給用戶。
在模型層、視圖層和控制層之間劃分責任可以減少代碼的重復度,並使應用程序維護起來更簡單。同時由於數據展示和業務邏輯的分離,在新的數據源加入和數據顯示變化的時候,數據處理也會變得更簡單。