更新時間:2022-06-20 09:17:30 來源:動力節點 瀏覽1976次
MVC框架和三層架構的區別有哪些?動力節點小編來告訴大家。
表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。
1.表現層(UI):通俗講就是展現給用戶的界面,即用戶在使用一個系統的時候他的所見所得。
2.業務邏輯層(BLL):針對具體問題的操作,也可以說是對數據層的操作,對數據業務邏輯處理。
3.數據訪問層(DAL):該層所做事務直接操作數據庫,針對數據的增添、刪除、修改、更新、查找等。
MVC有三種角色:
Model:用來儲存數據的組件,指要處理的業務代碼和數據操作代碼。
View:從Model中獲取數據進行內容展示的組件。同樣的Model在不同的View下可展示不同的效果。是一種視圖。
Controller:接受并處理用戶指令(操作Model(業務)),選擇一個View進行操作。是Model和View的橋梁。
MVC和三層架構的區別:
很長一段時間,我對MVC的理解僅限于,認為它和三層架構一樣,只不過三層架構更多關注于將業務和數據分開,而MVC更關注于將容易變動的界面和業務邏輯分開,同樣是解耦的作用。這也是上一篇博客的體會。但是隨著我們的經驗和學習的深入,光知道MVC是分的哪三層就確實不應該了。那么我了來對比一下MVC和三層。
其實,我們知道分三層的目的是為了“高內聚,低耦合”的思想。
1.結構不同。
三層架構是典型的上下級關系,上層依賴于下層。而MVC作為一種表現模式,是一種協作的關系,是平級的。它們用在不同的領域,可以說MVC可以作為一個三層架構中的UI層來展現界面。截取以前的博客中的兩張圖作為對比。
2.二者的Model不同
在三層中也有Model,但是那是三層中的實體層,是三個層次之間的聯系紐帶。而MVC中的Model是指數據或程序邏輯,是一種頁面級的數據,它接收的數據是從業務邏輯層處理好的數據。
3.二者的分離不同
三層是B層的邏輯層分離了界面顯示U層和直接與數據庫打交道的D層。這是解除了顯示和業務邏輯的耦合。
MVC中,Model是不知道View和Controller的存在的,這就隔離了表現和數據層,View和Controller是單向引用,View引用Controller的數據。這樣分離了界面和數據。
4.應用場景不同
三層是基于業務邏輯來分的,我們會在軟件工程中的架構設計中想到采用三層架構,這樣實現解耦的目的,通過業務邏輯來劃分層次。而mvc是基于頁面來分的,當我們想要達到界面視圖和數據的分離才用到MVC。
如果還在認為MVC就是三層架構那就是錯誤的,如果非要把它們用在一起的話,MVC可以單出來作為一層。其實項目中就是把MVC只作為一個表現層,是在客戶端體現的。而MVC中的Controller是負責與B層邏輯層甚至是服務接口聯系。
以上就是關于“一文讀懂MVC和三層架構的區別”介紹,大家如果想了解更多相關知識,可以關注一下動力節點的Java在線學習,里面的課程內容細致全面,通俗易懂,很適合沒有基礎的小白學習,希望對大家能夠有所幫助。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習