MVC模式组件类型关系和功能
MVC模式
mvc的controllerMVC模式是"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来实现。
ASP.NET提供了⼀个很好的实现这种经典设计模式的类似环境。开发者通过在ASPX页⾯中开发⽤户接⼝来实现视图;控制器的功能在逻辑功能代码 (.cs)中实现;模型通常对应应⽤系统的业务部分。在ASP.NET中实现这种设计⽽提供的⼀个多层系统,较经典的ASP结构实现的系统来说有明显的优点。将⽤户显⽰(视图)从动作(控制器)中分离出来,提⾼了代码的重⽤性。将数据(模型)从对其操作的动作(控制器)分离出来可以让你设计⼀个与后台存储数据⽆关的系统。就MVC结构的本质⽽⾔,它是⼀种解决耦合系统问题的⽅法。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论