- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
维普资讯
8 福 建 电 脑 2005年第 ll期
AMVC模型的设计与应用
祝 义
(徐州师范大学 计算机科学与技术学院 江苏徐州 221116)
【摘 要】 本文分析 了MVC模型的三层体系结构,指 出MVC模型从用户界面到计算模型过渡的不足,提出了
MVC模型的一种改进模型AMVC.并且通过一个Web应用实例讲解 了AMVC模型的应用。
关【键词】 GUI,MVC,AMVC。自动机
1 引言 据并指定这些数据如何被表示 。当模型层改变时,视 图层改变它
随着软件设计技术的发展人们对软件界面的需求变得越来 的表示 以保持一致。视图还将用户的请求转发给控制器II1。
越高了。这种需求增加的原因很多,其中比较重要的一方面是图 MVC中各层次模型的逻辑关系可以用下图来描述 :
形用户界mi(guI)。图形用户界面承担着向用户显示问题模型和
与用户进行操作和 io/交互的作用。用户希望保持交互操作界
面 的相对稳定 。但更希望根据需要改变和调整显示 的内容和形
式。可是界面构成是由很多元素构成的。要实现这种便捷的界面
设计还有很多方面的困难,其中最主要的困难在于满足用户对
界面要求的同时。如何使软件的计算模型独立于界面的构成。
MVC模型就是这样的一种交互界面的结构组织模型。由于它的
优点很多.可 以更好地满足用户的需求 ,同时也大大减少了程序
— — 方法谓甩
员的工作量 。这种设计模型正在被许多软件公司采用。 . … … … 一 ■ $
然而.MVC模型从用户界面到计算模型的过渡并不完美, 图 1MVC模型各层逻辑关系
例如模型对用户输入的信息缺乏科学的引导和筛选,用户往往 3 AMVC模型
在输入大量信息之后还是不能够让模型理解 自己的全部意图, AMVC模型的主要思想是在视图层和控制层中间增加一个
造成的结果是模型的显示界面不能够完全满足用户的需求 。如 代理层。AMVC主要由4个部分组成:模型层 (Mode1)、视图层
果模型能够对用户的输入进行控制 ,使得用户可 以在模型的引 (View)、控制层(Controller)~ll代理层(A咎enf),其中模型层、视图层、
导下逐步明确自己的需求,这样就可以避免上述情况的发生。因 控制层的功能和 MVC模型的模型层、视 图层 、控制层 的功能基
此我们有必要针对这一现象对 MVC模型进行改进 ,在用户界面 本一致 .只是用户输入 的数据不是直接给控制层 ,而是把它交给
到计算模型之间增加一种过渡机制,我们把这种改进后的模型 代理层。由代理层将用户输入数据处理后交给控制层。
称为 AMVC。 代理层(Agent)是一个能持续发挥作用的计算实体 ,具有 自
下面分别对 MVC模型和 AMVC模型进行分析 ,通过两种 主性、交互性、反应性和 自发性等特征圆。代理层的主体是一种参
模型的比较来说 明提 出AMVC模型的必要性。 照确定型有穷 自动机设计 的过渡机制 ,具体描述如下:
2 MVC模型 它是一个五元组M=(K’∑,8,s,F),其中
MVC模 型 由T~ygveReenskaug提 出 ,首 先 被 应 用 在 K是有穷的状态集合,表示用户输入条件后所有可能出现
SmallTalk一80程序设计环境中,它是许多交互和界面系统的构 的状态。
成基础。MVC英文即Model—View—Controller,即把一个应用的输 ∑是字母表 ,表示状态与状态之间过渡时所有可能出现的
入、处理、输 出流程按照Model、View、Controller的方式进行分 条
文档评论(0)