首先要清楚的是:
mvc是一種設計模式,一種分層思想,沒有具體的技術與之對應,無論是js還是java或者其他的技術都可以運用。
既然是分層那么這些層都有哪些職責呢?
View層(界面層):
為用戶展示數據,渲染由controller層和module層處理完的數據。
Controller層(業務邏輯層):
接收界面層的數據,對接受到的數據進行封裝和類型轉換。
調用模型層的服務進行業務邏輯的處理。
調用合適的視圖去渲染數據。
Model層(模型層 ):
提供算法,比如:業務算法實現,數據持久算法等。
分層思想往往都是為了解決耦合,分散關注,mvc在web領域是如何解決耦合問題的??
如:一開始我們使用一個servlet會同時做幾件事情,db操作,業務流程控制,html,json視圖的處理等等,
調試和維護系統的時候,我們必須將這幾個關注點挨個過一遍才能排查問題。
使用mvc分層思想我們就可以將數據操作和業務流程控制放到module(模型)層去做,
control(控制)層專門負責跳到指定的servlet中然后調用模型層的完成業務。
view(視圖)層負責將處理完的數據進行頁面的渲染。
這樣一來分層明確,問題定位很快。
為什么要用mvc框架???
使用一個框架時,MVC的基本結構已經包含在其中,你只需對這些結構進行擴充,將你的文件遵照MVC的模式放置到合適的目錄中去。
當你一旦你熟悉了框架,你就能在你需要修改和創建代碼時,知道應該在哪里動手。這種文件組織方式讓維護容易上不少。