首先給大家引入下MVC的概念:
MVC(Model View Controller)模型、視圖以及控制器,它是一種較為廣泛應用的結構設計模式。
模型:就是在MVC設計模式中需要被顯示的資料。在通常情況下,該模型需要從資料庫中讀取資料、儲存模型的狀態等,提供資料的存取方法以及資料的維護。
視圖:就是用來顯示模型中資料的使用者介面,一般來書,視圖就是HTML頁面。
控制器:就是用來處理對使用者的輸入或者互動命令,以便改變模型的狀態,選擇適當的視圖來顯示對應的模型資料。
工作機制如右圖所示:
(1)使用者向控制器發出請求。
(2)控制器收到使用者請求後,向模型請求獲得相關的資料。
(3)模型將對應的資料返回給控制器。
(4)控制器將有關資料發送到指定的視圖。
(5)視圖將資料呈現給使用者。
通過上面的介紹相信大家對於MVC也有了一定的瞭解和認識,那麼MVC與原先我們學習過的三層架構到底有哪些相同點,又有哪些不同之處呢?
MVC與三層的共同點:
MVC與三層架構的觸發點事相同的——分層,解耦。它們都做到了顯示與資料的分離,大大降低了系統的耦合性。
但是從專業角度來說MVC與三層沒有任何關係,三層是三層,MVC是MVC。唯一能把他們聯絡在一起的就是“三”這個字了,不過從初學者的角度把二者放在一起區分起來學習也更容易理解。
MVC與三層的不同點:
可以說它們之間除了相同的剩下的全是不同點。它們有著各自的工作機制詳情請見:
三層中的UI在MVC中被分解為View和Controller,BLL和DAL被合并為Model。另外在三層中雖然叫做三層架構,但是我們可以根據需要分為多層。三層中也涉及到Model,但是三層裡面的Model跟MVC中的Model完全是兩回事,三層中的Model是表實體,而MVC中的Model中包括商務邏輯和資料訪問。
MVC對於Web Form的特點:
(1)易於單元測試
(2)容易實施測試驅動開發
(3)易於擴充和替換
(4)支援Web Form中的有關特性
(5)URL被映射到控制器
雖然MVC對於Web Form有一些新的特性,但是MVC並不能替代傳統的Web Form技術,這兩種技術只是應用在不同情境,具有不同的優、缺點。不能片面的說那種技術高那種技術低,開發人員需要根據自己的實際情況選擇相應的技術開發項目。以上是個人通過查閱相關資料對MVC於三層架構之間的一些認識,有不足之處,請大家批評指正。
以上就是淺談MVC與三層架構的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!