MVC体系结构.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《MVC体系结构.ppt》由会员分享,可在线阅读,更多相关《MVC体系结构.ppt(45页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、MVC体系结构南京大学软件学院20091MVC体系结构MVC基本概念及应用领域MVC主体结构MVC动态特征MVC实现软件体系结构、框架与设计模式观察者(Observer)设计模式应用实例MVC基本概念:模型-视图-控制器(1)MVC(Model-View-Controller)将一个交互式应用程序分成3个组件模型:包含核心功能和数据(核心业务逻辑)视图:向用户显示信息控制器:处理用户输入变更-传播机制保证了模型和用户界面之间的一致性(图形用户界面)MVC基本概念:模型-视图-控制器(2)目的将人机交互从核心功能中分离出来(M)模型对用户来说是透明的,用户只需要观察视图(V)用户与模型的交互通过
2、控制器提供的安全方法来实现(C)MVC应用领域具有灵活人-机界面的交互式应用程序可以灵活选择不同的信息显示方式可以灵活选择用户的输入方式针对不同的用户角色,提供不同的用户界面不同用户具有不同权限,操作的方式也有所不同MVC体系结构MVC基本概念及应用领域MVC主体结构MVC动态特征MVC实现软件体系结构、框架与设计模式观察者(Observer)设计模式应用实例模型(Model)封装了内核功能和数据业务逻辑(软件的核心)数据以及访问它们的函数(视图组件使用)执行特定应用程序处理的过程(控制器代表用户调用)模型对于用户来说是不可见的(M与V独立)模型独立于特定输出表示或者输入方式(M与C独立)用户
3、只能通过控制器操作模型(C是M与V之间的桥梁)变更-传播机制(1)一个模型可对应多个视图如果用户通过一个视图的控制器改变了模型中的数据,那么依赖于该数据的其他视图也应该反映出这样的变化一旦模型的数据发生了变化,模型需要通知所有相关的视图做出相应的变化维护数据的一致性变更-传播机制(2)工作原理:模型维护了一个表所有视图还有一些控制器在这个表中登记了对变更通知的需求模型状态的改变将触发变更-传播机制,每个在表中登记的视图和控制器都会收到变更通知这样的方式可以通过观察者(Observer)设计模式完成视图(View)向用户显示信息不同的视图使用不同的方法呈现信息每个视图组件都有一个更新函数,这个函
4、数被模型变更通知激活这个函数被激活(此时模型已经改变)后,将使得视图重新和模型一致在初始化阶段,视图向模型登记请求变更通知(表)从模型获得数据通过状态查询函数实现例如:定时刷新控制器(Controller)每个视图有一个相关的控制器组件(一一对应)控制器组件接受事件,并翻译成输入事件如何发送到控制器由用户界面平台决定事件被翻译成为对模型或者视图的请求如果控制器的行为依赖于模型的状态,那么控制器也需要向模型登记请求变更通知例如:用户点击按钮,按钮的事件响应函数将采取相应的措施处理用户要求用户仅仅通过控制器与系统交互MVC组件类型的关系和功能注意视图与控制器是一一对应的关系模型与视图是一对多的关系
5、变更-传播机制保持模型与视图、控制器之间状态的一致性MVC体系结构MVC基本概念及应用领域MVC主体结构MVC动态特征MVC实现软件体系结构、框架与设计模式观察者(Observer)设计模式应用实例动态特征(1):MVC系统的初始化过程Main programModelViewControllermodelviewmodel,viewcontrollerstart动态特征(2):MVC系统的初始化过程创建模型实例,并初始化其数据创建视图对象,并用对模型的引用作为初始化参数之一视图通过调用附属过程支持变更-传递机制视图创建控制器,此时将模型和视图的引用作为参数传递给控制器初始化过程控制器通过调用
6、附属过程来支持变更-传递机制初始化完成,应用程序开始处理事件动态特征(3):输入导致模型变化,并触发变更-传递机制notifyhandleEventControllerViewModelserviceupdateupdategetDatagetDatadisplay动态特征(4):输入导致模型变化,并触发变更-传递机制控制器接受到事件,解释事件并且启动模型的服务过程(handleEvent、service)模型执行相应的过程,并导致内部状态的变化(notify)模型调用其更新过程,向所有登记请求了变更-传播机制的视图和控制器发出通知(update)每个视图从模型中读取新数据并且重新显示(get
7、Data)每个控制器修改自己的行为,比如禁用某个功能最初的控制器恢复控制并从事件处理过程返回MVC体系结构MVC基本概念及应用领域MVC主体结构MVC动态特征MVC实现软件体系结构、框架与设计模式观察者(Observer)设计模式应用实例MVC实现(1)设计并实现模型组件封装内核所需要的数据和功能确定模型的哪一部分应该通过控制器向用户显示,提供访问待显示数据的功能实现核心业务逻辑MVC实现(2)实现变更-传播机制采用观察者(Observer)设计模式每个视图和需要观察模型变更的控制器都在模型中注册自己的观察者(表)模型中可以随意添加和删除观察者实现通知各观察者并改变其状态的方法MVC实现(3)
8、设计并实现视图设计视图的外观,并实现画图过程来将视图显示在屏幕上(需要使用用户界面平台的功能)实现更新过程来反映模型的变化可以简单地调用画图功能,但是不适应模型频繁变化的情况向更新过程提供一些参数来确定是否重画,以及重画范围可以通过累积变化的方式减少重画的频率还需要实现视图的初始化过程支持变更-传递机制初始化控制器MVC实现(4)设计并实现控制器对于每个视图,指定回应用户动作的系统行为控制器用一个专用的过程来接受并且解释这些用户动作(事件)实现事件响应函数MVC实现(5)实现MVC的总体的初始化部分首先创建并初始化模型实例创建和初始化视图实例同时会创建相应的控制器实例初始化之后进入一个循环,或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MVC 体系结构
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内