为什么MVC范例最适合Web应用程序?

时间:2010-02-27 14:49:42

标签: php model-view-controller zend-framework defensive-programming

我很确定我的教授会问我为什么选择将MVC用于我的网络应用程序。

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

但为什么呢? O_O我画一个空白。如何建立一个N层应用程序更适合?

1 个答案:

答案 0 :(得分:5)

嗯,基本上:separation of concerns关于使用级别,而不是物理级别。

引用PoEAA on MVC

  

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

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

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

至于n层,“经典”MVC并没有预见到它会在网上使用。随着在浏览器和远程服务器上的控制器中发生UI的呈现,Web上的MVC始终也是多层体系结构,因此开始时usecase和physical之间的区别。 MVC并不关心它发生的地方。

另见: