请选择时期:
怀孕准备 怀孕 分娩 宝宝0-1岁 宝宝1-3岁 宝宝3-6岁

MVC架构模式在APP开发中有哪些应用?

来源: 最后更新:22-04-17 03:24:49

导读:MVC架构模式在APP开发中有哪些应用?,该文首先介绍了无线城市的概念,然后提出了移动APP开发中常用的MVC架构模式,最后结合IOS客户端重庆无线城市项目“重庆城”,论述MVC架构模式在该APP开发中的具体应用。  

  该文首先介绍了无线城市的概念,然后提出了移动APP开发中常用的MVC架构模式,最后结合IOS客户端重庆无线城市项目“重庆城”,论述MVC架构模式在该APP开发中的具体应用。
  
  1 “无线城市”概述
  

  2004年7月,美国费城提出“无线费城计划”,该计划是基于WLAN(Wireless Local Area Networks)标准的无线网络。随后类似的无线城市计划开始席卷全球。2013年,中国移动TD-LTE网络达到7M/S,移动端网速的快速提升,为无线城市时代的到来提供了最重要的基础条件。当前,中国的北京、海南、广东、江西、安徽、湖北、重庆等31个省份都已经建设了类似项目。

  2 MVC架构模式
  
  IOS端“重庆城”项目涉及的功能模块较多,而传统的基于网络的应用系统中,数据库的访问、用户界面设计、业务逻辑混合在一起,这种架构模式非常不便于后期需求的调整,一旦需求有变动,会给后期维护带来很大的不便。基于分层的架构思想应运而生,MVC架构模式是一种典型代表。
  
  MVC不是一种设计模式(Design Pattern),而是一种架构模式(Architectural Pattern),用以描述应用程序的结构以及结构中各部分的职责和交互方式。MVC是Model View Controller的简称,包括模型(Model)、视图(View)、控制器(Controller)这3个层次,它是一种广泛应用于移动端系统的架构模式。
  
  2.1 MVC三层架构
  

  MVC模式能够将模型层(Model)和视图层(View)实现代码分离,控制器(Controller)则是保证模型层和视图层的同步,模型层如果有改变,视图层也会保持更新。
  
  模型(Model):模型层用于封装与业务逻辑相关的数据以及对数据的处理方法,一般来说模型对象可以读取数据库中的数据,模型层不关心它会如何被显示。
  
  视图(View):视图层主要基于界面展示相关信息,视图可以有多个,控制器决定使用哪个视图,视图一般是根据数据模型创建。
  
  控制器(Controller):它是应用程序中处理用户交互的,用户点击视图上的控件,控制器能接收到基于HTTP协议的GET、POST请求。
  
  2.2 MVC原理
  

  MVC(Model-View-Controller)架构模式的原理并不复杂,应用程序必须能区分相应的功能。
  
  MVC架构模式对于小型甚至中型的应用程序并不合适,会带来很大的?~外工作量,增加应用的复杂性。对于存在大量界面、逻辑复杂的大型应用程序,MVC架构模式虽然会增加一些工作量,但也能够增加系统的稳定性,长远来看,会提升系统的运行效率。
  
  3 MVC架构模式的代码实现
  
  移动端”重庆城”项目,因其涉及的界面较多,传统的架构模式不能满足需求,采用了MVC三层架构。项目上线后,Android市场和App Store里该应用累计下载量达到200余万次,用户体验良好,后台运行稳定,受到广大重庆市民的欢迎。
  
  4 总结
  

  相比传统架构模式,MVC架构模式有不少优点。其不足体现在以下几个方面,后期有待优化。
  
  1) 增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
  
  2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
  
  3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
  
  4) 目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。

标签: 架构  模式  标签  简介  

免责声明:本文系转载,版权归原作者所有;旨在传递信息,其原创性以及文中陈述文字和内容未经本站证实。

本文地址:http://www.bbbaike.com/qiaomen/youxi/1184.html

声明: 本站文章均来自互联网,不代表本站观点 如有异议 请与本站联系 联系邮箱:kefu#bbbaike.com (请把#替换成@)

关于我们 | 广告服务 | 网站合作 | 免责声明 | 联系我们| 网站地图

© 2022-2024 宝宝百科网 all rights reserved. 沪ICP备2023005727号-4