MVC开发模式详解
轉自:https://blog.csdn.net/qq_33991989/article/details/78966071
MVC設計模式詳解
1.Model-View-Controller(模型-視圖-控制器)
???MVC設計模式實際上強制性地將程序的輸入、處理、和輸出分開。
???Model-View-Controller實際上擔當著不同的角色。
???Model:代表著業務數據和業務邏輯處理,(主要包括業務邏輯模塊(web項目中的dao類)和數據模塊(model類)和JavaBean相同,由Model提供視圖的顯示數據,同時一個Model可以為多個視圖提供業務數據,因此Model也就提高應用程序的可重用性。
???View:代表視圖,也就是與用戶交互的界面,可以給用戶顯示業務邏輯數據,同時也可以 接收用戶輸入的數據。(在web項目中以jsp作為view)
注意:在視圖中不對數據進行任何的業務邏輯處理。
???Controller:代表控制器,用來接收從視圖輸入的參數,同時調用對應的Model模型對數據進行業務邏輯處理,同時將處理好的數據傳遞到對應的視圖來顯示給用戶。(在web項目中以Servlet作為控制器)
???MVC的處理順序:首先是用戶通過視圖將參數輸入提交到控制器,控制器調用對應的Model去處理,同時將處理好的數據輸出到對應的視圖顯示給用戶。
???代表性的MVC框架有:Struts、SpringMVC、Tapestry
2.最典型的MVC就是JSP?+?servlet?+?javabean的模式
我們就使用這種模式開發!
??疑惑:為什么要使用MVC設計模式?
??????1)在MVC設計模式中,強制地把應用程序的輸入、處理和輸出分開,這樣就降低了應用程序的耦合性,使得web開發中的每個組件得以分開,分別負責處理不同的事情,對后來的維護會變得更輕松,同時也可以使得開發人員分別專注于不同的開發,美工只專注于視圖的開發,程序員只專注于業務邏輯的實現。
??????2)程序的重用性高。?
3.MVC模式用戶的請求流程
4.項目的分層開發
在實際的項目開發中,我們通常使用要做到“高內聚,低耦合”那么要做到這一點,就必須使用分層開發,結合MVC設計進行項目開發的時候我們通常會分為控制器層-Service層-Dao層,三層開發,層與層之間通過接口來連接。
分層開發的示例圖解如下圖:
用戶在瀏覽器中方法JSP頁面進行操作的時候整個web應用使用分層開發的內部流程分為8步:
1)用戶通過瀏覽器訪問jsp頁面也就是view層,在jsp上的所有操作都直接請求控制層 Servlet來完成。
2)控制層獲取view層提交過來的參數通過JavaBean對象封裝參數,然后將封裝好的參數 傳遞到Model層中的Service中調用Service層進行數據的業務邏輯處理。
3)Service層將控制層傳遞過來的參數傳遞到Dao層,然后調用Dao層訪問數據庫。
4)Dao層根據Service層的參數需求來訪問數據庫。
5)數據庫根據Dao層的操作將數據集返回Dao層。
6)Dao層將獲得的數據通過JavaBean對象進行封裝,然后將封裝好的數據返回給Service 層。
7)Service層將Dao中返回的數據又返回給控制層。
8)控制層將得到的數據轉發到對應的jsp頁面給用戶顯示。
?
總結
- 上一篇: spring boot 传递 List参
- 下一篇: s3c2440移植MQTT