MVC模式(Model-View-Controller)是軟體工程中的一種軟體架構模式,把軟體系統分成三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。
MVC可對程式的後期維護和擴充提供了方便,並且使程式某些部分的重用提供了方便。而且MVC也讓程式簡化,更直覺。
l 控制器Controller:對請求進行處理,負責請求轉送;
l 視圖View:介面設計人員進行圖形介面設計;
l 模型Model:程式編寫程式應用的功能(實作演算法等等)、資料庫管理;
注意,MVC不是Java的東西,幾乎現在所有B/S結構的軟體都採用了MVC設計模式。但要注意,MVC在B/S結構軟體並沒有完全實現,例如在我們今後的B/S軟體中並不會有事件驅動!
JavaWeb的經歷了JSP Model1、JSP Model1二代、JSP Model2三個時期。
JSP Model1是JavaWeb早期的模型,它適合小型Web項目,開發成本低! Model1第一代時期,伺服器端只有JSP頁面,所有的操作都在JSP頁面中,連存取資料庫的API也在JSP頁面完成。也就是說,所有的東西都耦合在一起,對後期的維護和擴展極為不利。
JSP Model1第二代有所改進,把業務邏輯的內容放到了JavaBean中,而JSP頁面負責顯示以及請求調度的工作。雖然第二代比第一代好了些,但也讓JSP做了過多的工作,JSP中把視圖工作和請求調度(控制器)的工作耦合在一起了。
JSP Model2模式已經可以清楚的看到MVC完整的結構了。
l JSP:視圖層,用來與使用者打交道。負責接收用來的數據,以及顯示數據給用戶;
l Servlet:控制層,負責找到合適的模型物件來處理業務邏輯,轉發到適當的視圖;
l JavaBean:模型層,完成特定的業務工作,例如:開啟、轉帳等。
JSP Model2適合多人合作開發大型的Web項目,各司其職,互不干涉,有利於開發中的分工,有利於元件的重用。但是,Web專案的開發難度加大,同時對開發人員的技術要求也提高了。
我們常說的三層框架是由JavaWeb提出的,也就是說這是JavaWeb獨有的!
所謂三層是表述層(WEB層)、業務邏輯層(Business Logic),以及資料存取層(Data Access)。
l WEB層:包含JSP與Servlet等與WEB相關的內容;
l 業務層:業務層不包含JavaWeb API ,它只關心業務邏輯;
l 資料層:封裝了對資料庫的存取細節;
注意,在業務層中不能出現JavaWebAPI,例如request、response等。也就是說,業務層程式碼是可重複使用的,甚至可以應用在非Web環境中。業務層的每個方法可以理解成萬能,例如轉帳業務方法。業務層依賴資料層,而Web層依賴業務層!
以上是一篇文章帶你看懂JavaWeb中MVC應用模型的演變的詳細內容。更多資訊請關注PHP中文網其他相關文章!