页面控制器模式到底是什么?
页面控制器模式(使用 Microsoft .NET 的企业解决方案模式中描述的 MVC 模式的改进)基本上是简单 URI 页面请求的模式(即 URI + 表单提交 + 查询字符串)吗? ASP的基本原理是什么?或者是更复杂的东西。
有人吗?
Is the Page-Controller pattern (the refinement of the MVC pattern as described in the Enterprise Solution Patterns using Microsoft .NET) basically the pattern of simple URI page requests (i.e. URI + form submission + query string); ASP's basically? Or is it something more complex.
Anyone?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是页面控制器模式(MVC 模式的改进)吗?
首先回答这个问题,我会说您正在混合两种不同类别的模式。 Page-Controller 是一种软件设计模式,MVC 是一种架构模式。
参见:软件设计与软件架构
页面控制器是通常不使用 MVC 模式实现,事实上 ASP.NET MVC 使用前端控制器,(我认为 MVC 可以实现这两种控制器模式,但我们通常看到实现的前端控制器,这就是 MSDN 文章正在讨论的内容)
< strong>MVC 架构模式的基本原理:
确保 MVC 的每个部分彼此完全分离(解耦)。由于这个因素,修改演示(视图)和模型变得更容易。
前端控制器和页面控制器属于 Martin Fowler 的应用程序控制器 a/c 类别。
页面控制器设计模式:
在 ASP.NET WebForms 中,每个逻辑页面 (*.aspx) 都是一个页面控制器,并且它是回发给自身的页面的默认行为,并且是由代码隐藏(也是页面的一部分)处理,它基本上结合了视图和控制器的角色。
WebForms 通常通过 URL (*.aspx) 和 ASP.NET MVC 来服务请求通过 URI 处理请求。
参见:
PHPWact.org 上的页面控制器
PHPWact.org 上的前端控制器
PS: 我必须说 MSDN你提到的文章有些令人困惑,坚持使用 Martin Fowler 的文章,它简单而精湛。
Is Page-Controller pattern (the refinement of the MVC pattern) ?
Well to answer this first I would say that you are mixing two different category of patterns. Page-Controller is a software Design pattern and MVC is an Architectural Pattern.
See:Software Design vs. Software Architecture
Page Controller is not usually implemented with the MVC pattern infact ASP.NET MVC employs Front Controller ,(I think MVC can implement both controller patterns ,but we usually see the Front Controller implemented ,that's what MSDN article is discussing)
Rationale For MVC Architechural Pattern:
To ensure that the each part of the MVC are completely separated (Decoupled) from each other. Due to this factor it's easier to modify the presentation (Views) and Models.
Front Controller and Page Controller comes under the category of Application Controller a/c to martin Fowler.
Page Controller Design pattern:
In ASP.NET WebForms each logical page (*.aspx) is a Page Controller , and its the default behaviour of the page that it's posted back to itself and is handled by the code-behind (which is also the part of page),it basically combines the roles of Views and Controller.
WebForms generally serves request through URL (*.aspx) and ASP.NET MVC generally serves requests through URI.
See:
Page controller on PHPWact.org
Front controller on PHPWact.org
P.S: I must say the MSDN article you mentioned is some what confusing, stick with the Martin Fowler its simple and superb.