中国a级毛片免费观看,啦啦啦资源视频在线完整免费高清,真人性囗交69视频,日本毛X片免费视频观看视频

rexian

咨詢電話:023-6276-4481

熱門文章

聯(lián)系方式

電 話:023-6276-4481

郵箱:broiling@qq.com

地址:重慶市南岸區(qū)亞太商谷6幢25-2

當前位置:網站首頁 > 技術文章 > 三層架構與MVC的相似和不同

三層架構與MVC的相似和不同

編輯:pansiqin 發(fā)表時間:2017-12-13 13:55:26
pansiqin

作者:劉彥彬
鏈接:https://www.zhihu.com/question/21851341/answer/251629127
來源:知乎
著作權歸作者所有。商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)轉載請注明出處。

MVC 模式

產生背景:
對用戶界面進行管理的程序的職責混亂導致代碼難以維護。

解決方案:
將對數(shù)據(jù)的操作 M 與對視圖V的操作分離開,用C 邏輯作為二者的粘合劑。

3-tiers 架構

產生背景:
所有應用程序都是用來處理數(shù)據(jù)的,程序的入口數(shù)據(jù)可以通過接口交互式輸入或者從磁盤等地方讀取,程序的輸出結果作為現(xiàn)實或存儲在磁盤上。上世紀九十年代之前,除了大型的系統(tǒng)外,應用程序讀取處理并存儲數(shù)據(jù)都是在一臺機器上進行的。但是,從九十年代起,由于數(shù)據(jù)的爆炸性增長,一臺機器上可以存儲的數(shù)據(jù)不能滿足應用程序的需求。于是,人們對原有程序進行了水平分層,將數(shù)據(jù)分離到數(shù)據(jù)庫服務器上,應用程序從網絡上讀取數(shù)據(jù)。這就是 2-tiers 架構,客戶端應用程序和數(shù)據(jù)庫服務器。這種架構依然存在一些缺點,例如,無法緩解支持很多應用程序的客戶端的負載; 客戶端越來越復雜;  客戶端和服務器之間頻繁的通信對帶寬要求高,限制了網絡的大小等。
總的來說就是,由于原有業(yè)務的復雜度提升,客戶端和服務器端的職能需要調整,從而實現(xiàn)負載均衡,使系統(tǒng)具有良好的伸縮性。

解決方案:
客戶端的應用程序用于展示,是展示層,業(yè)務層進行邏輯運算的支持,數(shù)據(jù)層存儲和操作數(shù)據(jù)。由于這種架構對原有程序進行了分層,不同的層運行在不同的機器上,所以可以非常自然地支持分布式開發(fā)。

聯(lián)系:
- 初看起來比較像,容易搞混(如果這也算聯(lián)系的話);

-  MVC 模式可以用于3-tiers 架構的展示層。

區(qū)別:
關注的重點不同:
MVC 關注的重點在于表現(xiàn)層的代碼組織方式,通過降低代碼間的耦合度,使代碼更改維護。
3-tires 關注系統(tǒng)的分布,便于提升系統(tǒng)性能,增加系統(tǒng)功能。

拓撲結構不同:
MVC 是可以三角結構,視圖向控制器發(fā)送更新,控制器更新模型,視圖可以直接從模型更新。
3-tires 一定是是線性結構,展示層即客戶端不能直接與數(shù)據(jù)層通信,也就是說客戶端展示層與數(shù)據(jù)層的通信必須經過中間層即業(yè)務層。