三層框架與MVC模式的區別


三層框架與MVC模式的區別

 

三層架構分爲界面層、業務邏輯層、數據訪問層。很多人就同MVC裏的三個核心部件同三層架構等同起來,認爲界面層等於View,業務邏輯層等於Controller,數據訪問層等於Model,這是完全錯誤的。 MVC和三層架構不是一個東西。三層架構是界面層(UI)業務邏輯層(BLL)和數據訪問層(DAL)構成的,而MVC是模型層(M)界面層(View)和控制層(Controller)構成的,而且他們之間也不對應。


     MVC設計模式解決的是頁面代碼、頁面控制邏輯和數據耦合的問題,所以它首先屬於界面層。比如:Asp.net MVCStructs都是界面層框架。
     MVC
裏的Controller是負責對頁面進行控制的,比如:頁面間跳轉,顯示邏輯等。三層架構裏的業務邏輯層主要是對業務實體數據的加工,把加工後的數據傳給頁面顯示

     MVC裏的Model只是數據實體,不具備什麼增刪改查的功能,他接收的數據是從業務邏輯層處理好傳過來的數據。而三層架構裏的數據訪問層是具有增刪改查功能的,是直接對數據庫操作的,爲業務邏輯層提供數據支持
    
切忌MVC只是三層裏的界面層,MVC是在應用程序(BS結構)的視圖層劃分出來的不同功能的幾個模塊,千萬別混淆。

模型-視圖-控制器(MVC)是Xerox PARC在八十年代爲編程語言Smalltalk80發明的一種軟件設計模式,至今已被廣泛使用。最近幾年被推薦爲Sun公司J2EE平臺的設計模式,並且受到越來越多的使用 ColdFusion PHP的開發者的歡迎。模型-視圖-控制器模式是一個有用的工具箱,它有很多好處,但也有一些缺點。

MVC框架肯定是適合於做大項目開發的,但並不是說有了MVC框架我們就可以開發大項目,聽起來有些繞,其實道理很簡單,原因就是人(開發者)。如果你是一個對MVC框架的設計理念有深入研究的人,那麼你在使用MVC框架進行產品和項目開發的時候就會隨時隨地都要考慮一些問題:

1.低耦合性(強調視圖層和業務層分離)
    2.
可測試性(這個非常重要)
    3.
高重用性和可適用性
    4.
有利於軟件工程化管理等等。

 

三層可以應用於任何語言、任何技術的應用程序;而MVC只是爲了解決BS應用程序視圖層各部分的耦合關係。它們互不衝突,可以同時存在,也可根據情況使用其中一種。

 

相同點:

但是兩者的核心是一致的,那麼什麼是核心?答曰:分層,解耦!


發佈了59 篇原創文章 · 獲贊 28 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章