1、MVC和三層架構css
(1) MVC的全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,是一種軟件設計模式。html
(2) Model:即模型。也就是JavaBean、domain、entity前端
a) 把屬性設置爲私有的java
b) 添加get、set方法web
c) 必需要有默認的無參構造方法數據庫
d) 這個類必須是public公共的設計模式
(3) View:即視圖。架構
(4) Controller:即控制器。也就是Servletdom
(1) 表現層(UI):jsp
a) 主要是指與用戶交互的界面。用於接收用戶輸入的數據和顯示處理後用戶須要的數據。
b) 前端代碼:view。用戶和用戶、界面的顯示。jsp、js、html、css
代碼位置:WebContent
c) 後臺代碼:control。用戶控制跳轉、調用業務邏輯層。
Servlet、SpringMVC、Struts2。
a) 包名:xxx.controller或xxx.servlet
(2) 業務邏輯層(Service層或BLL)
(3) 數據訪問層(Dao層)
(4) 三層之間的關聯
服務員:只管接待客人;
廚師:只管作客人點的菜;
採購員:只管按客人點菜的要求採購食材;
他們各負其職,服務員不用瞭解廚師如何作菜,不用瞭解採購員如何採購食材;廚師不用知道服務員接待了哪位客人,不用知道採購員如何採購食材;一樣,採購員不用知道服務員接待了哪位客人,不用知道廚師如何作菜。
(1) 使用三層架構的目的:解耦!!!遵照的原則:高內聚、低耦合
(2) 一樣拿上面飯店的例子來說:
(3) 服務員(UI層)請假——另找服務員;廚師(BLL層)辭職——招聘另外一個廚師;採購員(DAL)辭職——招聘另外一個採購員;
顧客反映:
一、大家店服務態度很差——服務員的問題。開除服務員;
二、大家店菜裏有蟲子——廚師的問題。換廚師;
任何一層發生變化都不會影響到另一層!!!