3

我相当肯定我的教授会问我为什么选择在我的 Web 应用程序中使用 MVC。

说实话,我是 MVC 的新手。我读过它,我正在使用它构建一个博客应用程序,我认为以这种方式解决问题是非常合乎逻辑的。

但为什么?O_O 我画了一个空白。还有什么比说构建 N 层应用程序更适合的呢?

4

1 回答 1

5

好吧,基本上:关注使用级别的分离,而不是物理级别。

在 MVC 上引用PoEAA

MVC 将用户界面交互分为三个不同的角色。

使用 MVC ,您将表示(V,C)与域逻辑(M)分开,并且还将 UI 行为(C)与 UI 显示(V)分开。这比将所有三个关注点混合为一个更易于维护,并且还促进了重用和测试。它使您可以更好地处理复杂性。

这并非只适用于 Web 应用程序。它适用于任何具有域逻辑和 UI 的应用程序。话虽如此,但我不会说 MVC 是最适合Web 应用程序的模式。如果你想做的只是在网络上放一个联系表,那么一个多合一页的脚本就足够了。如果你只有一堆静态页面,那么 MVC 也太过分了。因此,与任何模式一样,这取决于您要解决的问题。

至于 n 层,“经典”MVC 并没有预见到它会在 Web 上使用。随着 UI 的呈现发生在浏览器和远程服务器上的控制器中,Web 上的 MVC 始终也是多层架构,因此一开始就存在用例和物理之间的区别。MVC 只是不关心它发生在哪里。

另见:

于 2010-02-27T15:23:24.410 回答