我们可以说ASP.NET也是MVC吗?

时间:2010-12-24 06:28:03

标签: asp.net-mvc architecture

ASP.NET还有UI,事件处理,如果实现了良好的逻辑层,那么BLogic层也是如此。那么我们可以说它的模型视图控制风格。或者不是吗?

3 个答案:

答案 0 :(得分:0)

作为一种模式,MVC更关注控制器对视图和模型的描述。

在Web窗体中没有控制器。视图和背后的代码(最接近控制器的东西)本质上是相同的,没有关注点分离。

同样取决于你如何去做,MVC的模型部分不一定是你的业务逻辑。对于我们来说,它实际上是一个视图模型,并且只包含与特定视图相关的数据。业务逻辑在自治组件中处理。

对于传统的Web表单,我通常会看到背后的代码(实际上是UI的一部分),他们熟悉业务逻辑或数据库访问(通常是两者的混合)。

由于背后的代码,很难摆脱这种情况。

在我看来,Web表单创建了紧密耦合的UI和业务逻辑,并没有提供一种简单的方法来强制分离关注点。

我认为网络表单不符合MVC模式。

答案 1 :(得分:0)

MVC中,所有请求都会路由到Controller

ASP.NET中,所有请求都会路由到Page。这是View而不是Controller

ASP.NET更好地与MVP匹配,而不是MVC。原因是,在MVP中,View应该处理用户输入/请求并将其传递给适当的Presenters

答案 2 :(得分:0)

没有。 ASP.NET Web窗体是页面控制器模式的实现。

Chapter of Fowler's PoEAA about the Page Controller on Google Books