MVC 开发模式 MVC 模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。MVC 应用程序总是由这三个部分组成。Event(事件)导致 Controller 改变 Model 或 View,或者同时改变两者。只要 Controller 改变了 Models 的数据或者属性,所有依赖的 View 都会自动更新。类似的,只要 Controller 改变了 View,View 会从潜在的 Model 中获取数据来刷新自己。MVC 模式最早是 smalltalk 语言研究团提出的,应用于用户交互应用程序中。smalltalk 语言和 java 语言有很多相似性,都是面向对象语言,很自然的 SUN 在 petstore(宠物店)事例应用程序中就推荐 MVC 模式作为开发 Web 应用的架构模式。MVC 模式是一种架构模式,其实需要其他模式协作完成。在 J2EE 模式目录中,通常采用 service to worker 模式实现,而 service to worker 模式可由集中控制器模式,派遣器模式和 Page Helper 模式组成。而 Struts 只实现了 MVC 的 View 和 Controller 两个部分,Model 部分需要开发者自己来实现,Struts 提供了抽象类 Action 使开发者能将 Model 应用于 Struts 框架中。 MVC 模式是一个复杂的架构模式,其实现也显得非常复杂。但是,我们已经终结出了很多可靠的设计模式,多种设计模式结合在一起,使 MVC 模式的实现变得相对简单易行。Views 可以看作一棵树,显然可以用 Composite Pattern 来实现。Views 和 Models 之间的关系可以用 Observer Pattern 体现。Controller 控制 Views 的显示,可以用 Strategy Pattern 实现。Model 通常是一个调停者,可采用 Mediator Pattern 来实现。 现在让我们来了解一下MVC 三个部分在 J2EE 架构中处于什么位置,这样有助于我们理解MVC 模式的实现。MVC 与J2EE 架构的对应关系是:View 处于 Web Tier 或者说是 Client Tier,通常是 JSP/Servlet,即页面显示部分。Controller 也处于 Web Tier,通常用 Servlet 来实现,即页面显示的逻辑部分实现。Model 处于 Middle Tier,通常用服务端的 javaBean 或者 EJB 实现,即业务逻辑部分的实现。 一、MVC 设计思想 MVC 英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照 Model、View、Controller 的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。 视图(View)代表用户交互界面,对于 Web 应用来说...