谈谈MVC模式.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
谈谈MVC模式

谈谈MVC模式1.如何设计一个程序的结构,这是一门专门的学问,叫做架构模式(architectural pattern),属于编程的方法论。MVC模式就是架构模式的一种,它对我的启发特别大。我觉得它不仅适用于开发软件,也适用于其他广泛的设计和组织工作。下面是我对MVC模式的一些个人理解,不一定正确,主要用来整理思路。2.MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层。1)最上面的一层,是直接面向最终用户的视图层(View)。它是提供给用户的操作界面,是程序的外壳。2)最底下的一层,是核心的数据层(Model),也就是程序需要操作的数据或信息。3)中间的一层,就是控制层(Controller),它负责根据用户从视图层输入的指令,选取数据层中的数据,然后对其进行相应的操作,产生最终结果。这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。3.我用Windows的计算器小程序为例,解释一下MVC模式,虽然它不一定使用这个模式编写。在这个计算器程序中,外部的那些按钮和最上面的显示条,就是视图层,那些需要运算的数字就是数据层,执行加减乘除的那些内部运算步骤就是控制层。每一层执行不同的功能,整个程序的结构非常清楚。如果我们扩大一点想象,就会发现,很多程序本质上都是这种模式:对外提供一组触发器(本例中是按钮),然后执行一些内部操作,最后返回结果。因此,MVC模式的应用是非常广泛的。4.在我看来,不仅编写程序可以用MVC模式,家用电器也可以用。以家用微波炉为例,可以将它也理解成三层结构。最简单的情况下,微波炉的操作用两个转盘实现,一个控制温度,另一个控制时间。这两个转盘就是视图 层(view),而其内部的微波产生装置则是数据层(Model),这里的数据需要理解成核心功能。至于将用户通过转盘输入的信息,转换成 对微波产生器的操作,则用控制层来实现。如果每一层都是独立的,那么微波炉外部更换一个新潮的外壳,或者内部更换更大功率的微波产生器,完全可以在不更改其他层的情况下实现。这就是MVC模式的优势。5.再进一步,如果将MVC模式解释成外观、机制和功能/数据这三层结构,那么很多人类组织也可以通过MVC模式架构。比如一家商场,完全可以分成三部分。一部分是仓库,负责提供商品,这是功能层(或者数据层);另一部分是零售铺面,负责销售商品,这是它的外观层;两者之间就是机制层,包括柜台和仓库之间一切互动的机制。这样区分以后,这个商场的结构就变得非常清楚,可以针对不同的层进行优化,提高效率。6.公司、政党、政府、医院、学校等等,这些组织不管是盈利性还是非盈利性的,都可以从MVC模式的角度,进行架构,由一个个执行特定功能、可重复使用的模块组成。我在想,如果人类社会都是模块化结构,那会是怎样的情景?

文档评论(0)

zhengshumian + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档