MVC模式

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1.MVC架构所用到的设计模式。*首先介绍一下MVC的组成部分。M(Model):模形.数据层V(View):视图.显示层C(Controllor):控制.业务逻辑层MVC设计思想就是把数据访问、业务逻辑和应用程序分开,同时它还提高了系统的可维护性、可扩展性、可移植性和组件的可复用性。2.1MVC中的模型、视图和控制类(1)模型包含了应用问题的核心数据、逻辑关系和计算功能,它封装了所需的数据,提供了完成问题处理的操作过程。控制器依据I/O的需要调用这些操作过程。模型还为视图获取显示数据而提供了访问其数据的操作。像数据库操作:DAO我们对数据库操作采用了一种策略模式。这种变化-传播机制体现在各个相互依赖部件之间的注册关系上。模型数据和状态的变化会激发这种变化-传播机制,它是模型、视图和控制器之间联系的纽带。(2)视图通过显示的形式,把信息转达给用户。不同视图通过不同的显示,来表达模型的数据和状态信息。每个视图有一个更新操作,它可被变化-传播机制所激活。当调用更新操作时,视图获得来自模型的数据值,并用它们来更新显示。在初始化时,通过与变化-传播机制的注册关系建立起所有视图与模型间的关联。视图与控制器之间保持着一对一的关系,每个视图创建一个相应的控制器。视图提供给控制器处理显示的操作。因此,控制器可以获得主动激发界面更新的能力。(3)控制器通过时间触发的方式,接受用户的输入。控制器如何获得事件依赖于界面的运行平台。控制器通过事件处理过程对输入事件进行处理,并为每个输入事件提供了相应的操作服务,把事件转化成对模型或相关视图的激发操作。如果控制器的行为依赖于模型的状态,则控制器应该在变化-传播机制中进行注册,并提供一个更新操作。这样,可以由模型的变化来改变控制器的行为,如禁止某些操作。利用MVC设计思路方法设计这套通用接口在别应用模块中访问数据库时只这些通用接口即可避免了直接数据库系统提供数据库访问时接口不致问题将数据库应用部分和数据实际访问部分隔离开来这样可根据功能需求任意通用模块中界面可根据需求只需相应应用即可其他模块可原封不动功能扩充、修改及完善也只需改动数据库接口模块这样不但提高了通用性而且把员从考虑区别接口重复工作中解脱出来把精力放在功能应用设计开发上有利于软件Software工程化管理从而提高了开发效率[Page]MVC的优点及不足之处MVC的优点表现在以下几个方面:(1)可以为一个模型在运行时同时建立和使用多个视图。变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。(2)视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。(3)模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。(4)潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中。MVC的不足之处MVC的不足表现在以下几个方面:(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。(2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。(3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。(4)目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难7小结与软件所处理问题的内在模型相比较,用户界面是需要经常发生变化的,采用MVC设计模式可以在满足对界面要求的同时,使软件的计算模型独立于界面的构成。本文首先介绍了MVC的三个组成构件(模型构件、视图构件和控制构件),以及实现基于MVC的应用需要完成的工作;接着,对MVC的优点及不足之处进行了分析;最后,介绍了几种其他类似的结构模式,并对MVC和PAC进行了比较。8.在MVC当中所用到的设计模式:MVC设计模式由23中设计模式组合而成:为什么这么说呢,因为从MVC的结构组成部分来看,它由三大部分组成:1.M(模型),它是数据的反映,封装了数据,和数据操作:也就是处理数据的地方:PIXTEL_MMI_EBOOK_200512/PIXTEL_MMI_EBOOK_2005

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功