三層構架和 MVC 不同嗎?

時間 2021-05-14 16:40:09

1樓:yaoyao

先說答案:完全不同!因為這兩者完全就不是在同乙個維度上的解決方案。

MVC是客戶端的一種設計模式,所以他天然就不考慮資料如何儲存的問題。作為客戶端,只需要解決使用者介面、互動和業務邏輯就好了。在MVC模式中,View負責的是使用者介面,Controller負責互動,Model負責業務邏輯。

至於資料如何儲存和讀取,當然是由Model呼叫服務端的介面來完成。

在三層架構中,並沒有客戶端/服務端的概念,所以表示層、業務層的任務其實和MVC沒什麼區別,而持久層在MVC裡面是沒有的。

2樓:SCORPIO-DENG

在三層架構中沒有定義Controller的概念,這是最不同的地方。而MVC也沒有把業務的邏輯訪問看成兩個層,這是採用三層架構或MVC搭建程式最主要的區別。

3樓:多肉媽

MVC應該指的是一種模式,整個專案可以是MVC的模式,並且對於View層來說,前端也可以應用MVC模式開發。

三層:應該指的是整個專案是三層架構(樓上的各位,已經說的很多了)

4樓:王韋恩卑鄙

簡單說,M-V-X 是展現層的模式,

它們消費了業務層的產品 Model, 並且使用 X 來控制使用者輸入與業務層產品的資料,做出各種新作為引數提交給業務層對業務進行影響

X裡面的邏輯都是介面互動邏輯

X裡面的的呼叫都是使用者操作呼叫

X裡面的模型,都是檢視模型(VM)

X可以是 C 可以是VM 可以是P

在http://

Asp.Net

MVC工程裡面用web api 是借用框架包裹了 Business層的外觀,簡單資料view輸出。

如果在裡面直接呼叫了DAL完成業務是因為沒做Business 層。

是設計不完全的體現

Ps: ORM的入口物件如 EF的DBContext 本身是一種Business/Model 層的模式實現

DBContext 對應 Unit Of Work模式

DBSet對應 Repository 模式

說他們是 DAL 本身是不當的。 但是作為Model的進出路徑,本身是Business 底層的持久化部分,屬於下限,在MVC 的Controller 裡面呼叫,在簡單邏輯中,不算是跨層呼叫。

但是如果你在 Controller 裡寫了業務邏輯業務邏輯中呼叫 UoW和Repository 就是Business 層實現的疏漏了,屬於暴露業務邏輯讓展現層代勞。

參考資料 MS-P&P

Web Presentation Patterns <-Web展現模式

5樓:

多年以前我一直以為三層就是MVC !!

其實三層架構應該叫多層架構,三層是指Model、DAL、BLL,請問web層這個算幾層呢?

其實區別還是有的。

多層架構是:資料訪問層、業務邏輯層、顯示層。還會有些介面層、工具層之類

MVC架構是:模型層、控制層、顯示層

這樣能看到區別了嗎?

以上,個人理解

6樓:大聖悟空

同意 @莊表偉 的「MVC是橫向分工;三層架構,是縱向分層。」

「三層架構」 一般指企業級應用系統架構。

MVC 一般指網路應用設計模式。

每個企業級應用系統可以包含多個網路應用,每個網路應用都可以按照MVC模式開發。而從系統級別橫向來看,這個系統又是三層的。

7樓:

它們是一樣的,它們又不是一樣的。

它們的核心都是:分層,解耦;

三層是從整個應用程式架構的角度來分的三層;

MVC是在應用程式(BS結構)的檢視層劃分的模組;

因為先學了三層,後學MVC,感覺腦袋裡面在打架啊,怎麼辦?

Gollum 作為乙個.net開發者說一下我個人的觀點 根據專案大小決定使用吧.三層也可以理解為業務邏輯,檢視和實體 如果mvc和三層結合就是三層中的檢視層使用mvc來實現.這個時候,只需要知道mvc中的Controller和Model都是對於view頁面實現就可以.當然乙個mvc即使不做任何抽離也...

三層別墅有必要裝電梯嗎

丁春秋 沒有電梯的別墅住了三年,有電梯的別墅住了近兩年。我覺得我還是有發言權的。強烈建議別墅安裝電梯,舉個例子,比如洗衣籃滿滿一籃子衣服從負一樓的洗衣房爬樓拎到二樓臥室可是一力氣活兒。 房先生 1.看經濟能力 乙個三層別墅電梯在10萬元左右。一年維保費在5000左右。2.看家庭成員構成,是否有使用的...

這種古龍文風模仿的有幾分?有三層嗎?

少先隊員張小明 古龍只有乙個。但古龍也有許多個。從題主的字裡行間我能看到那個囉嗦的古龍。他也許只是為了賺多點稿費,也許只是夜不夠深,杯中少了點酒。但不論怎樣,若你說世上有這麼一幅臨摹,畫的是其中乙個古龍,我是能信的。每個人都可以被臨摹,臨摹出的此人是不是他本人,也許還是作者說了算。不過乙個囉嗦的古龍...