首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

1.1.3  MVC演化:页面控制器(Page Controller)

一种稍微有些不同的MVC实现已经通过一些框架,譬如Microsoft的ASP.NET,流行起来了。在这种MVC中,并不是令分发器去寻找一个控制器并执行之,而是直接到达视图并且在继续生成视图之前调用相应的控制器。尽管这种模式丢掉了在大多数经典MVC实现中所使用的某些解耦合特性,但是它可以提高开发效率并且拥有工具的支持(Microsoft的Visual Studio尤为明显)。WebWork通过使用<webwork:action>这个自定义标签也支持这种开发方式。

前端控制器与页面控制器的对比

图1-3和图1-4展示了控制面板的两种实现——前端控制器实现和页面控制器实现之间的区别。由于X、Y和Z部分职责的分离,页面控制器可能看起来更加模块化一些,但是良好的面向对象设计也可以实现一个模块化的前端控制器。如果你熟悉Struts,前端控制器模式看起来会更熟悉。即使你不熟悉其他的Web框架,前端控制器模式也应该是收集并呈现数据的最直接的方式了。尽管如此,一些框架则因为页面控制器模式鼓励封装而应用之,如图1-4所示。幸运的是,WebWork同时支持这两种实现,将两者的优点都呈现于你的面前。

根据我们的经验,框架可以极大地提高开发效率。为了能够满足用户的需求并且应对来自不断改变的商业世界的挑战,我们强烈推荐你在构建Web应用程序的时候充分发挥MVC设计模式的优势。事实上,绝大多数的开发人员并不会自己从零开始写一个MVC框架,而是在已有框架(譬如WebWork)的基础上进行改进。

图1-3  使用前端控制器MVC模式设计的控制面板的实现

图1-4  使用页面控制器MVC模式设计的控制面板的实现

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论