第七章--MVC模式_第1页
第七章--MVC模式_第2页
第七章--MVC模式_第3页
第七章--MVC模式_第4页
第七章--MVC模式_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MVC设计模式 什么是MVC设计模式 MVC ModelViewController 模型 model 视图 view 控制器 controller MVC模式的目的就是实现Web系统的职能分工 框架模式 MVC模式是一种架构模式 其实需要其他模式协作完成 在J2EE模式目录中 通常采用servicetoworker模式实现 而servicetoworker模式可由集中控制器模式 派遣器模式和PageHelper模式组成 ServicetoWorker模式的目标就是维护Action View和Controller之间的分离 而Struts只实现了MVC的View和Controller两个部分 Model部分需要开发者自己来实现 Struts提供了抽象类Action使开发者能将Model应用于Struts框架中 MVC之间的联系 M是指数据模型 V是指用户界面 C则是控制器 使用MVC的目的是将M和V的实现代码分离 从而使同一个程序可以使用不同的表现形式 比如一批统计数据你可以分别用柱状图 饼图来表示 C存在的目的则是确保M和V的同步 一旦M改变 V应该同步更新 MVC之间的联系 Event 事件 导致Controller改变Model或View 或者同时改变两者 只要Controller改变了Models的数据或者属性 所有依赖的View都会自动更新 类似的 只要Controller改变了View View会从潜在的Model中获取数据来刷新自己 MVC之间的联系 statequery 状态查询changenotification 更新通知statechange 状态更新viewselecion 视图选择useractions 用户行动Event 事件Methodinvocations 方法调用 MVC之间的联系 MVC模式的实现 MVC与J2EE架构的对应关系是 View处于WebTier Web层 或者说是ClientTier 客户层 通常是JSP Servlet 即页面显示部分 Controller也处于WebTier 通常用Servlet来实现 即页面显示的逻辑部分实现 Model处于MiddleTier 中间层 通常用服务端的javaBean或者EJB实现 即业务逻辑部分的实现 MVC的优点 首先 最重要的是应该有多个视图对应一个模型的能力 在目前用户需求的快速变化下 可能有多种方式访问应用的要求 再次 由于一个应用被分离为三层 因此有时改变其中的一层就能满足应用的改变 一个应用的业务流程或者业务规则的改变只需改动MVC的模型层 控制层的概念也很有效 由于它把不同的模型和不同的视图组合在一起完成不同的请求 因此 控制层可以说是包含了用户请求权限的概念 最后 它还有利于软件工程化管理 由于不同的层各司其职 每一层不同的应用具有某些相同的特征 有利于通过工程化 工具化产生管理程序代码 MVC的缺点 1 增加了系统结构和实现的复杂性 对于简单的界面 严格遵循MVC 使模型 视图与控制器分离 会增加结构的复杂性 并可能产生过多的更新操作 降低运行效率 2 视图与控制器间的过于紧密的连接 视图与控制器是相互分离 但确实联系紧密的部件 视图没有控制器的存在 其应用是很有限的 反之亦然 这样就妨碍了他们的独立重用 3 视图对模型数据的低效率访问 依据模型操作接口的不同 视图可能需要多次调用才能获得足够的显示数据 对未变化数据的不必要的频繁访问 也将损害操作性能 4 目前 一般高级的界面工具或构造器不支持MVC模式 改造这些工具以适应MVC需要和建立分离的部件的代价是很高的 从而造成使用MVC的困难 使用MVC的原因 使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论