浅谈MVC模式 - 丁丁随笔 - BlogBus.com

来源:百度文库 编辑:神马文学网 时间:2024/04/29 07:19:49
浅谈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实现,即业务逻辑部分的实现.