iOS项目结构/架构小结

原创 2015年11月18日 19:14:03

回想下, 已经很久没有写博文了, 工作比较忙加上自己比较懒哈哈.

今天说下对于iOS项目结构的一些理解和心得吧, 希望可以帮到需要的人.

 前言: 现在的主流应用型app都基本采用native+h5的方式去构建, 如果体验要求比较高的采用native, 如果变动很频繁的(比如做活动)当然用h5更方便省心啦. 

 所以针对这些模式, 采用了响应的管理方式去管理和维护.


1. 首先在目录上我们会分成  Controllers,  Views, Models, ViewModels, Services  5块内容去处理, 各司其事:

  a) Controller: 在这里负责创建添加控件, 将封装好的业务逻辑链接起来.

  b) Views: 顾名思义, 自定义控件都放在这.

  c) Models: 数据结构, 接受后台处理的数据映射.

  d) Services: 所以数据请求在这里完成, 负责请求数据, 对外提供数据.

  e) ViewModels: 所有的业务逻辑处理(这部分现在很多项目都直接写在controller下, 这样对后期的维护牺牲是很大的).


2. native中处理所有页面 根据上面的结构来工作, 绝对会有事半功倍的效果, 特别是在后期接口会越来越多, 页面, 业务逻辑越来越多.


3. 那针对h5页面的交互, 我们就可以直接通过上述的Services获取需要的数据, 而不需要在html中利用jsonp之类的自己去请求数据, 那有人问为什么要这么做:  1. 首先h5和app交互是必须的(比如现在做一个我的排行榜), 那h5必须知道当前登录用户, 这些信息都可以通过app告诉它. 那当然也可以把其他h5需要的数据一起给它  2. h5页面中的请求数据接口其实很多都在app中已经实现了, 不需要再写一次, 可以复用  3. 对于h5来说, 可以统一调用一个接口, 类似callHandler("requestDataByApp", ...),   根据URL的不同可以获取到它所有需要的数据, 是不是对h5开发者来说工作量会减少很多?(特别是h5和app都是自己的开发的时候) .


4. 越到后期, 你会发现其实数据的管理很重要, 做好数据的管理是app维护的关键所在.


5. 除了上述5个模块之外, 当然你还可以写一些工具类(比如获取日期处理, 字符串处理等),  和管理类(比如一些三方平台, 分享, 登录, 聊天, 数据统计之类的). 理论上这些跟上述是无耦合的, 相互独立.


上述为本人的见解, 如有不同理解 可以留言交流... 25832844@qq.com

iOS大型项目开发架构

http://www.jianshu.com/p/921ab32c3c71# 首先说说编程语言的选择,Objecive-C还是Swift?我还没有在项目中使用Swift,因为我说服不了自己去...
  • scut1135
  • scut1135
  • 2016年02月15日 21:30
  • 5346

121.iOS项目架构总结

本文参考了Casa Taloyum 的文章, 并总结一些博主自身的经验, 总结归纳了此文章.从四层架构:视图层、业务层、网络层、本地数据层的各个方面来进行的总结...
  • wangyanchang21
  • wangyanchang21
  • 2017年02月22日 00:55
  • 1620

iOS开发项目架构浅谈:iOS架构设计与分层

结构设计的层次是否越多越好? 多人都会说,凡事不能走极端,走了极端就过犹不及。所以应该分层,但不能过分分层,应该视具体情况来定。这样的话听起来很有道理,却只是一句废话。当我们遇到问题时,还是摸不着头...
  • HymanYoung
  • HymanYoung
  • 2016年05月04日 10:24
  • 2159

iOS项目结构目录参考图示

对于iOS项目开发来说,一个清晰、合理、易于维护的项目结构目录对于多人协作的开发,也是一件非常重要的事(注意:务必让xcode的工程目录和实际的文件目录一致,否则难以管理)。这里以一个MVC架构的iO...
  • openglnewbee
  • openglnewbee
  • 2016年04月11日 13:38
  • 1655

cocos2d-JS 项目结构

初次创建并打开一个 Cocos Creator 项目后,您的项目文件夹将会包括以下结构: ProjectName(项目文件夹) ├──assets ├──library ├──local ├──se...
  • hiwoshixiaoyu
  • hiwoshixiaoyu
  • 2016年11月17日 20:08
  • 399

Flask Web项目架构图

  • westenboy
  • westenboy
  • 2016年01月24日 16:49
  • 3105

Angular 2.0项目结构基本介绍

使用Angular-cli新建项目后,基本可以得到如下目录结构:     1.根模块         其中app.module.ts是该项目的一个根模块,使用@NgModule修饰,表面改Clas...
  • zhoulu001
  • zhoulu001
  • 2016年11月01日 15:13
  • 1624

springboot项目搭建(二)——直接生成项目架构

spring-Boot是Spring的新东东,为了让人尽快的使用,它提供了一个非常好的辅助工具,直接为我们生成Maven架构的工程。下面,我们通过helloworld看 一、在浏览器...
  • u010375663
  • u010375663
  • 2017年07月02日 21:21
  • 236

Cocos架构和目录结构

1. Cocos2d-x 1.1 架构 1.2目录结构 从github下载Cocos2d-x repo资源包后,或解压稳定版ZIP压缩包后,就会看到如下的目录结构: ...
  • dj0379
  • dj0379
  • 2015年01月27日 16:48
  • 2136

安卓开发基础知识介绍--------AS项目结构解析

我们选择Project视图,就会有以下的项目文档结构: 上面笔者标注的数字是接下来要讲解的内容。 我们先来看1: 我们创建Application的时候,要求我们输入项目名称,1就是我们创建的项...
  • lixuce1234
  • lixuce1234
  • 2017年03月28日 11:41
  • 262
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS项目结构/架构小结
举报原因:
原因补充:

(最多只允许输入30个字)