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