服務熱線
153 8323 9821
首先說三層架構:
UI(.aspx)---------> BLL(業務處理)------> DAL(數據處理)----> 永久存儲(數據庫)
MVC:MVC(Model View Controller)模型-視圖-控制器
很明顯都是從整體上“策劃”一個web項目的實現邏輯
共同點:三層架構的UI層相當于MVC中的View層,作為視圖,再說白一點,都是頁面
區別:BLL+DAL相當于MVC中的Model層,Model層實現系統中的業務邏輯,當然也包含了數據訪問的邏輯
三層”中典型的Model層是已實體類構成的,而MVC里,Model則是由業務邏輯與訪問數據組成的,
Model層又分為不同的層(個人認為就是三層架構的DAL+BLL),它的分層也是為了結構清晰和低耦合,(高內聚:單一責任;低耦合:模塊獨立)
區別比較大的就是三層架構中沒有Control層,而是由單個頁面上的控件的事件處理頁面與業務邏輯之間,而MVC中control層是作為聯系視圖層和Model的紐帶,使得整個項目的結構更加清晰,降低了耦合性。
舉例說明這兩種方法不同的實現思路:A在上海的浦東區逛街,有人要搶劫他,打110報警了,B在閔行區也被劫持,他也打110報警了,他們打110的時候,接電話的是上海市公安局總部指揮中心,對于A,來解救他是浦東分局的警察,對于B,解救他的是閔行分局的警察,對于AB來說,他們不需要關心到底是誰來解救他的,他們只管打110報警(類似于頁面數據由action提交到控制器),由110指揮中心確定他的位置然后派出具體的地方警局去營救(控制器根據需求調用model層去完成對應的數據處理)。而三層架構在這個過程中就像A或B被劫持了,他們直接找到當地警(調用BLL層方法)的警察來處理.
三層是垂直依賴的 而MVC是松耦合的 三層沒有設計模式基礎一般也能整體把握 MVC的話必須有設計模式基礎才能比較好的全局掌握,但是如果是只做Controller/Views的一部分的話就不用那么多,這樣便于分離 三層結構清晰 MVC使用得當易于復用,而且開發速度很快
上一篇:MVC與三層架構的異同點
下一篇:.Net三層架構