随笔 - 7, 文章 - 4, 评论 - 2, 引用 - 0
数据加载中……

Model-View-Controller

a. 问题

  如果开发一个企业级应用,只需要一种客户端的话,那么一切都非常容易解决。但真实情况是,我们必须面对运行在各种设备上客户端,象PDA,WAP浏览器以及运行在桌面上的浏览器,我们不得不开发不同的应用程序来处理来自不同客户端的请求。数据访问与现实将混淆在一起,可能会出现重复的数据访问,导致整个开发周期没有必要的延长。

  b. 建议的解决方法

  Model-View-Controller (MVC) 开发模式被证明是有效的处理方法之一。它可以分离数据访问和数据表现。你可以开发一个有伸缩性的,便于扩展的控制器,来维护整个流程。如图1所示为整个模式的结构。MVC模式可以被映射到多层企业级的J2EE应用上。

  § 所有的企业数据以及商业逻辑可以作为模式。

  § 视图可以通过模式访问数据,并根据客户端的要求来显示数据。视图必须保证当模式改变的时候,数据显示也必须同时改变。

  § 控制器用来结合模式和视图,把客户端来的请求转换成模式能够理解并执行的请求,并且根据请求以及执行结果来决定下一次显示那一个视图。

  根据以上的逻辑,你可以象这样建立一个应用:

  § 应用的商业逻辑由MVC中的模式也就是EJB来表现。模式必须处理由控制器传递过来的对数据的访问请求。

  § 多个页面组成了MVC中的视图,这些视图必须随模式一起更新。

  § 控制器是一系列接收用户动作的对象,他们把用户的请求转换成模式可理解的请求,并决定显示那一个页面当模式处理完请求后。

c. 要点

  § MVC结构适用于那些多用户的,可扩展的,可维护的,具有很高交互性的系统。

  § MVC可以很好的表达用户的交互和系统模式。

  § 很方便的用多个视图来显示多套数据,是系统很方便的支持其他新的客户端类型。

  § 代码重复达到最低。

  § 由于分离了模式中的流控制和数据表现,可以分清开发者的责任,另外,也可以加快产品推向市场的时间。

posted on 2005-01-30 12:51 jacky 阅读(353) 评论(0)  编辑  收藏 所属分类: Design Patten


只有注册用户登录后才能发表评论。


网站导航: