网站大量收购闲置独家精品文档,联系QQ:2885784924

MVC软件体系结构解析.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MVC软件体系结构解析

* 软件设计与体系结构 6.5 MVC软件体系结构 内容 1.应用场景 2.概念与机制 3.应用实例 4.讨论 * 1.应用场景 引例: 设计一个基于互联网的网上二手车拍卖软件,需要有用户图形输入界面,包括车辆的图片、文字介绍以及当前的竞拍价格等信息的显示界面。系统不但要有灵活互动的图形界面人机接口,还应该具有很好的可扩展性。要求: 相同的信息可以有不同的显示方式 数据的显示必须立即反映出数据的变化 用户界面易于改变,甚至在运行时改变 * 二手车数据 文字介绍显示 当前拍价显示 图片表示 1.应用场景 设计方案 方案1:将界面和核心功能紧密地耦合在一起 缺陷:增加新的功能或修改界面,需要重新编译整个类 方案2:将业务逻辑与显示部分分开 好处:修改业务逻辑或显示模块时,可以分开进行 * 事务逻辑模块 封装数据 封装事务逻辑 显示模块 用户输入 显示信息 图6.96 将业务逻辑模块与显示模块分开 2.概念与机制 MVC(Model-View-Control,模型-视图-控制器) 20世纪80年代,为编程语言Smalltalk-80发明 后来,被推荐Java EE的设计架构 三个部分 Model:核心功能(业务逻辑)与数据 View:用户显示信息 Controller: 处理用户输入,界面处理逻辑 逻辑结构图:图6.97 * 2.概念与机制 * 2.概念与机制 MVC体系结构的设计类图有多种版本,这里给出两种: 一般形式的结构类图:图6.98 基于观察者机制的结构类图:图6.99 * 2.概念与机制-一般形式结构类图 * 2.概念与机制-基于观察机制的结构类图 * 2.概念与机制-基于观察机制的结构类图 基于观察者模式 Model:被观察者 View:观察者 Controller: 从用户图形界面接收用户输入 然后,根据用户输入的类型,调用Model的相应业务功能 如用户还有其他请求,也可以调用Model的其他业务功能 接着,在Model类的withdraw()方法中,访问数据库的表进行相应的处理。 每当Model类发生更新,View也会自动更新 * 3.应用实例 例6.23 采用MVC体系结构(一般形式)的二手车拍卖系统的设计与实现。 设计类图:图6.100 Model CarModel:业务逻辑部分 tell()方法:通知视图 View CarGUIView:显示车的图片、文件介绍 CatBitView:显示拍卖价格信息 Controller 根据CarAuctionGUI对象输入客户选择信息更新CarModel类的数据 * 3.应用实例-例6.23 * 3.应用实例-例6.23 程序演示:eg6_23 * 3.应用实例-例6.24 例6.24 采用MVC体系结构(基于观察者模式)设计与实现的二手车拍卖系统,用户输入界面和两个显示视图分别独立显示的情况。 设计类图:图6.104 * 3.应用实例-例6.24 * 3.应用实例-例6.24 程序演示:eg6_24 * 3.应用实例-例6.25 例6.25 采用MVC架构(基于观察者模式)设计与实现二手车拍卖系统,用户输入界面和显示视图都在同一个窗口中显示的情况。 设计类图:图6.105 * 3.应用实例-例6.25 * 3.应用实例-例6.25 程序演示:eg6_25 * 4.讨论 优点 对于同一个模型,可以由不同的视图与控制器,以便提供给用户不同类型的用户图形界面 改变-传播机制保证了模型在改变的同时自动刷新所有的视图,所有的视图都同时实时地反映了模型的现有状态 MVC体系结构的设计使得改变用户图形界面变得非常容易,MVC架构非常适合业务逻辑较少改变,而用户图形界面需要经常改变的应用。 由于全部的核心数据与核心功能在模型中,因此,容易对核心的应用进行测试。 可扩展性好。 * 4.讨论 三层体系结构 VS MVC 相同之处 前者的显示层与MVC的View类似 前者的应用层与MVC的Model类似 区别 各个模块之间的调用关系不同:三层体系结构中,显示层不允许直接调用永久数据存储层。显示层需调用应用层的方法访问永久数据层。而MVC体系结构的程序组件之间的交互是三角形的,两两之间可以直接交互。 对数据库的访问方式不同:三层体系结构有永久数据存储层,负责对数据库的访问。而MVC中没有专门模块,一般情况可由Model负责对数据库的访问,但也可由Controller实现此功能。 MVC中有一个专门的Controller模块,而层次体系结构中没有。 * 作业 1. 画出MVC体系结构的一般形式的结构类图。 2. 画出应用了观察者机制的MVC体系结构设计类图。 * * 描述从输入到处理、再到显示 Model是数据 控制器接受输入、处理数据、更新模型,定义响应视图 * 根据一般形式,描述

文档评论(0)

little28 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档