MVC(Model View Controller) 是軟件工程中一種軟件架構模式,它把軟件系統分為模型,視圖,控制器,三個基本部分。用一種業務邏輯,數據,界面顯示分離的方法組織代碼,將業務邏輯集群到一個部件里面。當改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。(1. 高內聚,低耦合 2. 開閉原則(對修改關閉,對拓展開放))
MVC 各層的內容
M:Model 模型層
? ? ? ? 1. 存放和數據庫對應的實體類以及一些用于存儲非數據庫持久化存儲的相關的 VO 對象
? ? ? ? 2. 存放一些對數據進行邏輯運算操作的業務處理代碼
V:View 視圖層
? ? ? ? 1. 存放一些視圖相關的代碼 html css js 等
? ? ? ? 2. 在前后端分離的項目中,該層次已經變為了獨立的前端項目
C:Controller 控制層
? ? ? ? 1. 接收客戶端請求,獲得請求數據
? ? ? ? 2. 將準備好的數據,響應給客戶端
MVC 項目中的常見包
M:
? ? ? ? 1. 實體類包(pojo/entity/bean):專門存放和數據庫對應的實體類和一些 VO 對象
? ? ? ? 2. 數據庫訪問包(dao/mapper):專門存放對數據庫不同表格 CURD 方法封存的一些類
? ? ? ? 3. 服務包(service):專門存放對數據進行業務邏輯運算的一些類
C:
? ? ? ? 控制層包(controller)
V:
? ? ? ? web 目錄下的視圖資源
舉個栗子:
要實現一個頁面,張三網絡購物,買 10 本書:
用戶打開頁面,首先是一個視圖頁面
當顧客選好數量和書籍后,點擊結算,將相關數據發送給控制層
?
同時,還用封裝對表格數據 CRUD 的 DAO 層,和實體類層