Dorado 5 : 2.开发模式Model 2(MVC) (WP)

随着Web应用复杂度的进一步提高,页面间的协作关系开始变得越来越复杂。于是又有了Model 2的设计模式。Model 2也被称为MVC,这期间涌现出了大量优秀的Web框架(Struts、WebWork等)。
MVC是三个单词的缩写: 模型(Model)视图(View)和控制(Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
最初的Web应用是为内容发布服务的,很自然地采用了这样一种基本假设,并发展为基于Model 2的MVC开发模式。该假设认为Web应用的运行逻辑是由一系列的页面切换构成的,每一个页面都不是特别复杂,往往有着非常特定的功能和目的,同时页面对于浏览器而言又是不可分割的最小单元,要更新页面中的数据必须对页面进行整体刷新。采用这种方案的应用中有着大量的页面流,我们需要一种有效的机制对它进行管理。同时由于表现层的功能相对非常薄弱,控制器往往还要承担起为表现层准备数据的工作。这些在控制器中准备好的数据一般都是利用上下文(如Request的Attributes)以推的方式交给表现层,即推模式(Push Mode)。
这种模式用来处理单向的信息发布,或者简单的互交式操作是可行的,但用来实现操作频繁的管理信息系统时,就显得力不从心,很难进一步提高系统可用性与开发效率。