一、MVC和三層架構
- 什么是MVC?
(1) MVC的全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,是一種軟體設計模式,
(2) Model:即模型,也就是JavaBean、domain、entity
- 封裝資料的模型:物體
- 在java web中,把資料封裝到一個物體類的物件中,傳遞物件
- domain:物體類,也叫entity
a) 把屬性設定為私有的
b) 添加get、set方法
c) 必須要有默認的無參構造方法
d) 這個類必須是public公共的
(3) View:即視圖,
- 也是就JSP、html、css、JavaScript代碼,實作資料的展示
- 位置在WebContent檔案夾下
(4) Controller:即控制器,也就是Servlet
- 接受用戶請求,呼叫模型處理請求,選擇視圖(jsp)顯示相應結果
- 什么是三層架構?

(1) 表現層(UI):
a) 主要是指與用戶互動的界面,用于接收用戶輸入的資料和顯示處理后用戶需要的資料,
b) 前端代碼:view,用戶和用戶、界面的顯示,jsp、js、html、css
代碼位置:WebContent
c) 后臺代碼:control,用戶控制跳轉、呼叫業務邏輯層,
Servlet、SpringMVC、Struts2,
a) 包名:xxx.controller或xxx.servlet
(2) 業務邏輯層(Service層或BLL)
- UI層和DAO層之間的橋梁,實作業務邏輯,業務邏輯具體包含:驗證、計算、業務規則等等
- 包名:xxx.service
- 介面名:IXXXService
- 實作類名:XXXServiceImpl
(3) 資料訪問層(Dao層)
- 與資料庫打交道,主要實作對資料的增、刪、改、查,將存盤在資料庫中的資料提交給業務層,同時將業務層處理的資料保存到資料庫
- 包名:xxx.dao
- 介面名:IXXXDao
- 實作類名:XXXDaoImpl
(4) 三層之間的關聯

- 生活中的三層架構
服務員:只管接待客人;
廚師:只管做客人點的菜;
采購員:只管按客人點菜的要求采購食材;
他們各負其職,服務員不用了解廚師如何做菜,不用了解采購員如何采購食材;廚師不用知道服務員接待了哪位客人,不用知道采購員如何采購食材;同樣,采購員不用知道服務員接待了哪位客人,不用知道廚師如何做菜,
- 為什么要使用三層架構?
(1) 使用三層架構的目的:解耦!!!遵守的原則:高內聚、低耦合
(2) 同樣拿上面飯店的例子來講:
(3) 服務員(UI層)請假——另找服務員;廚師(BLL層)辭職——招聘另一個廚師;采購員(DAL)辭職——招聘另一個采購員;
顧客反映:
1、你們店服務態度不好——服務員的問題,開除服務員;
2、你們店菜里有蟲子——廚師的問題,換廚師;
任何一層發生變化都不會影響到另外一層!!!
- 三層架構的表現形式?


轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/11284.html
標籤:Oracle
上一篇:MyBatis
