我很确定我的教授会问我为什么选择将MVC用于我的网络应用程序。
说实话,我是MVC的新手。我读到了它,我正在使用它构建一个博客应用程序,我认为以这种方式处理问题是非常合乎逻辑的。
但为什么呢? O_O我画一个空白。如何建立一个N层应用程序更适合?
答案 0 :(得分:5)
嗯,基本上:separation of concerns关于使用级别,而不是物理级别。
MVC将用户界面交互分为三个不同的角色。
使用MVC,您将表示(V,C)与域逻辑(M)分离,并且还将UI行为(C)与UI显示(V)分开。这比将所有三个问题混合成一个更加可维护,并且它还促进了重用和测试。它可以让您更好地处理复杂性。
这不仅适用于Web应用程序。它适用于具有域逻辑和UI的任何应用程序。话虽如此,我不会说MVC是Web应用程序的最适合的模式。如果您想要做的只是在网络上放一个联系表格,那么一页一页的脚本就足够了。如果你只有一堆静态页面,MVC也是过度的。所以与任何模式一样,这取决于你想要解决的问题。
至于n层,“经典”MVC并没有预见到它会在网上使用。随着在浏览器和远程服务器上的控制器中发生UI的呈现,Web上的MVC始终也是多层体系结构,因此开始时usecase和physical之间的区别。 MVC并不关心它发生的地方。
另见: