MVC(Model View Controller)模型、視圖和控制器,它是1種較為廣泛利用的結構設計模式。
模型:就是在MVC設計模式中需要被顯示的數據。在通常情況下,該模型需要從數據庫中讀取數據、保存模型的狀態等,提供數據的訪問方法和數據的保護。
視圖:就是用來顯示模型中數據的用戶界面,1般來書,視圖就是HTML頁面。
控制器:就是用來處理對用戶的輸入或交互命令,以便改變模型的狀態,選擇適當的視圖來顯示對應的模型數據。
(1)用戶向控制器發出要求。
(2)控制器收到用戶要求后,向模型要求取得相干的數據。
(3)模型將對應的數據返回給控制器。
(4)控制器將有關數據發送到指定的視圖。
(5)視圖將數據顯現給用戶。
通過上面的介紹相信大家對MVC也有了1定的了解和認識,那末MVC與本來我們學習過的3層架構到底有哪些相同點,又有哪些不同的地方呢?
MVC與3層架構的觸發點事相同的――分層,解耦。它們都做到了顯示與數據的分離,大大下降了系統的耦合性。
但是從專業角度來講MVC與3層沒有任何關系,3層是3層,MVC是MVC。唯1能把他們聯系在1起的就是“3”這個字了,不過從初學者的角度把2者放在1起辨別起來學習也更容易理解。
可以說它們之間除相同的剩下的全是不同點。它們有著各自的工作機制詳情請見下圖:
3層中的UI在MVC中被分解為View和Controller,BLL和DAL被合并為Model。另外在3層中雖然叫做3層架構,但是我們可以根據需要分為多層。3層中也觸及到Model,但是3層里面的Model跟MVC中的Model完全是兩回事,3層中的Model是表實體,而MVC中的Model中包括業務邏輯和數據訪問。
(1)易于單元測試
(2)容易實行測試驅動開發
(3)易于擴大和替換
(4)支持Web Form中的有關特性
(5)URL被映照到控制器
雖然MVC對Web Form有1些新的特性,但是MVC其實不能替換傳統的Web Form技術,這兩種技術只是利用在不同場景,具有不同的優、缺點。不能片面的說那種技術高那種技術低,開發者需要根據自己的實際情況選擇相應的技術開發項目。以上是個人通過查閱相干資料對MVC于3層架構之間的1些認識,有不足的地方,請大家批評指正。
上一篇 XML