2011-02-23 31 views
7

今天的一個特殊問題的類型:)MVC模式是純粹的表示層模式嗎?

我剛在我的技術大學進行了測試,在那裏我被告知我錯了。

所以我想知道你從人(我相信你比我的老師):

是隻在表示層實現MVC模式? 或者是實現的Business/DataAccess層中模式的一部分。

我的老師說,模式不可能跨越多層。 但我認爲這是一種企業架構模式,因此可以跨越多個層次。

我怎麼了? :)

+2

+1有趣的問題。 – Nilesh 2011-02-23 13:19:39

+2

你的老師是錯的。根據定義,模式不存在這樣的限制。 – RyBolt 2011-09-18 20:04:05

回答

4

你錯了......這個班。在課堂上,什麼老師 /書說。

課外,我同意你的100%。

+0

我不知道老師對事物的看法。 (猜我跳過了很多班)。他們只是在採訪了我之後才告訴我的。不幸的是,太晚了:) – SwissCoder 2011-02-23 22:33:06

+0

接受了這個解決方案。雖然也許Skliwz是對的。但我不知道什麼是正確的,所以很難贊成答案。 – SwissCoder 2011-03-02 11:54:39

2

我認爲MVC確實比表現層更深,原因很簡單,即提供模型確實需要其他層做「某事」。

此外,如果我們將模型看作Domain concepts (see DDD)的某種表示形式 - 那麼我們已經在討論如何脫離表示層。

4

你的老師是對的,「模型」只是表示要呈現的數據。例如,構成網頁的數據。

數據本身最終將來自業務層,但模型應限制在表示層。這是你演示的模型。

例如,您可能會將數據檢索爲數據集,並使用數據集來構建頁面特定的模型。

+0

請注意最終頁面成形的對象來自可能從模型填充的ViewModels。 – atconway 2013-04-05 19:19:21