IOS 应用架构
来源:互联网 发布:单片机交通灯设计报告 编辑:程序博客网 时间:2024/05/17 03:40
IOS 应用架构
总结之前的开发,自己业余开发工程,按照理解进行搭建:
- 层次划分
- 模块划分
- UI部分架构设计
- 中间层
- 网络层
- 缓存
- 持久化
层次划分
就是分层,这个网上很多,有分三层的,有分四层的,具体不去分析,说说自己的设计吧。
1: UI层,负责UI显示,事件响应处理
2: Service层,负责具体业务处理,响应UI请求,将网络,缓存,固化数据返回给UI,进行显示。
3:数据管理层,负责发送网络请求,缓存处理,持久化处理。
UI部分架构设计
UI部分按照传统的MVC模式, 使用现在很流行的MVVM架构。
关于UI的各种控件, github上有很多开源代码,是大家学习的好帮手。
目前开发产品时,也都是现学现卖。精通谈不上。
总结下来:
1 : 各模块间调用,使用中介者模式,实现全局调度,使模块间的切换,解偶。
2:使用UITableView 时, 可能会遇到显示各种个样的cell, 目前解决这个问题,用两种设计模式推荐, 责任链模式,策略模式。根据个人喜好选择。现在项目大家使用责任链模式。不过我个人喜欢 策略模式。
中间层
按照模块划分,每个模块提供一个service,UI需要的数据都是通过这个service获取。
获取数据时, 如果提供缓存的接口,直接返回缓存,如果不提高缓存,或者缓存过期,发送网络请求。
问题点:
- 回调方式:基本上是delegate与block 的选择。delegate好处在于之间的 为弱引用关系,不会影响上层的内存释放。block 使用时, 会引起循环引用问题,而去会出现跨层传递问题。但是还是选择了block,因为这种方式,写代码真的很方便,但是调试起来就不太方便了。
- service返回的数据,以什么形式返回,是完整的数据结构,或者是NSDictionary,这里使用开源的Mantle,进行数据映射,返回给UI完整的model,但是这个model为服务端返回的数据,有些数据UI可能不需要使用,这样给UI开发人员造成困扰。上面说的MVVM中,就有ViewModel这一层,可以解决底层model 到ViewModel的映射。
0 0
- IOS应用开发架构
- IOS应用开发架构
- IOS应用开发架构
- IOS应用开发架构
- IOS 应用架构
- iOS应用架构谈
- iOS应用架构
- Ios 应用架构详解
- iOS应用架构谈
- iOS 应用架构
- iOS应用架构谈
- iOS 应用架构
- 【iOS架构】iOS应用架构概述
- IOS 应用的架构解析
- iOS应用架构谈 开篇
- iOS应用架构谈 开篇
- iOS应用架构谈 开篇
- iOS应用架构谈 开篇
- 黑马程序员--【阳哥笔记】极速秒杀Java基础之笔记系列...阳哥笔记才是史上最强最全最详细的笔记
- 百度分享 ajax 加载 冲突
- 堆栈式摄像和背照式摄像头是什么?
- SpringMVC+Mybatis整合的增删改查
- Git/IOS Subversion GitHub BitBucket
- IOS 应用架构
- 【Walk on】我仅仅想留下点东西
- 如何做好微信营销东莞微龙科技告诉您
- C语言实现二进制与十进制转换
- ios 地图导航
- jdbc
- android在xml文件中定义drawable数组、id数组等
- 微信分销系统微商城网站
- AndroidMultitool3.5.6 批量打渠道包