`
coolerbaosi
  • 浏览: 729347 次
文章分类
社区版块
存档分类
最新评论

MVC与设计模式

 
阅读更多

posted on 2006-09-22 20:41Xu Jianxiang

1、MVC概述

MVC,即Model-View-Controller,“模型-视图-控制器”,是Xerox PARC在八十年代为编程语言Smalltalk80发明的一种软件设计模式,最初是用来构建用户界面。它包括三类对象:模型Model是应用对象(数据和应用规则),视图View是它在屏幕上的表示,控制器Controller定义用户界面对用户输入的响应方式。

2、MVC特征

特征一:视图与模型分离,一旦模型的数据发生了变化,模型将通知它的视图,而视图将于模型通信以访问相关的数据;

特征二:视图可以嵌套。

3、MVC中的设计模式

3.1View-Model关系与观察者模式

观察者(Observer)模式:定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。

MVC通过建立一个“定购/通知”机制将视图和模型分离,一个模型可以有多个视图,当模型的数据改变后会通知它的所有视图。

3.2View-View关系组合模式

组合(Composite)模式:将对象组合成树形结构以表示“整体-部分”的层次结构,使得对单个对象和复合对象的使用具有一致性。

MVCView类的子类CompositeView类来支持嵌套视图。MVC将一些对象划为一组,并将该组对象当作一个对象来使用。

3.3View-Controller关系与策略模式

策略(Strategy)模式:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。算法的变化可以独立于使用者。

MVC将响应机制封装在Controller对象中,MVC允许在不改变视图外观View的情况下改变视图对用户输入的响应方式。View使用Controller的某个实例来实现一个特定的响应策略,实行不同的响应策略需要用不同的Controller实例替换即可。

4、MVC框架

MVC框架把一个应用的输入、处理、输出流程按照ModelViewController的方式进行分离,这样一个应用被分成三个层——视图层、控制层和模型层。

比较常见的MVC框架有:StrutsWebworkTapestryJSFSpring MVC等。

资料:
《设计模式》GOF
MVC在Web系统中的模式与应用http://dev2dev.bea.com.cn/techdoc/20031194.html
MVC模式http://www.itisedu.com/phrase/200604231324325.html


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics