架构框架

2018-05-02  本文已影响12人  一只长毛猫

框架架构

框架架构主要是为了以下几点:
1 模块化
2 分层
3 解耦
4 降低代码重合度

客户端整体架构



1 独立于App的通用层 (时长,崩溃,网络第三方库)
2 通用业务层(通用基础组件,特殊UIImageView封装)
3 中间层(用于解耦)
4 业务A、业务B、业务C
意义:单独拿出一个业务,都可以形成一个App

业务之间解耦的通信方式?

1 openUrl
2 依赖注入(通过遵循协议)

复杂页面架构

View: 控件初始化,设置数据,交互事件代理
ViewController: 视图创建组合、协调逻辑、事件回调处理
ViewModel:业务逻辑层、数据增删改查封装者、线程安全处理
Engine : 增删改查、网络请求、数据解析、本地处理逻辑

图片缓存

图片缓存框架设计


图片读写流程


计算机组成原理中,多级缓存设计思想,提高查找效率

内存设计问题
1存储size :10kb以下50张,100kb以下20张,100kb以上10张
2 淘汰策略 :队列先进先出方式淘汰。LRU算法-最近最久未使用算法(如30分钟之内是否使用过)。1定时检查 2 每次进行读写、前后台切换。(注意开销2优先 )

磁盘设计问题
1 存储方式
2 大小限制(100M)
3 淘汰策略(超过7天)

网络设计需要考虑问题?
1 图片最大并发量
2 请求超时策略
3 请求优先级

图片解码?
对不同格式的图片,解码采用什么方式来做?
应用策略模式对不同图片进行解码
在哪个阶段进行图片解码?
磁盘读取之后, 网络请求返回后。

上一篇下一篇

猜你喜欢

热点阅读