IOS开源框架SJFramework-设计过程

来源:互联网 发布:mac app store dns 编辑:程序博客网 时间:2024/05/16 01:43

IOS整体框架设计步骤:

一、基础框架:Appdelegate框架、BaseViewController、剥离业务抽象类、基础工具组件.

基础框架的目的是使一套框架能够服务于任何IOS-APP开发,与具体业务无任何关联,框架初始化及运行过程中,所有涉及业务的都以抽象协议或代理接口形式封装,具体APP实现相关抽象或接口,例:初始化页面逻辑,自动登录逻辑,将在具体APP实现业务代理接口,并注入框架,以供框架正常运行.

二、MVVM业务开发框架

 MVVM业务开发框架是基于基础框架之上的对业务的抽象封装. M-V-VM可降低界面与业务的藕合,使所有业务模块化到各个VM模块当中,业务与存储、界面层次分离,从而实现高内聚低藕合,达到高效的业务实现及版本迭代的目的.

三、统一协议处理

 基于框架剥离的业务抽象,实现具体业务统一协议,对请求协议栈及响应体封装处理.

四、存储管理

 根据实际业务需求决定采用何种存储方案.

IOS具体框架设计步骤:

一、基础框架搭建

[x] 1、框架:AppDelegate框架抽象封装-抽象出App基类、第三方扩展分类.

[x] 2、框架:框架中剥离初始化、登录、注销等业务相关抽象协议或代理接口.

[x] 3、框架:界面基类BaseViewController、BaseTabBarViewController、BaseNavigationViewController,封装toast/loading显示方法,界面视图泄露检测机制.

[x] 4、框架:基本工具组件

二、业务开发框架

[x] 1、MVVM框架:构建VM基类.VM基类承担业务的基础网络请求服务.

[x] 2、MVVM框架:制定VM-V回调机制,对比代理及block方案,确定采用block方案回调,相对于代理而言,block可实现代码集中管理、业务处理,避免频繁定义接口,使业务在回调处理过程中过于繁索.

[x] 3、MVVM框架:M模型的序列化,确定序列化方案.

[x] 4、MVVM框架:模块生命周期控制与管理.

[x] 5、MVVM框架:框架调整及优化

三、统一协议处理

[x] 1、请求体协议栈封装

[x] 2、响应体协议处理

四、存储管理

[x] 1、账号及信息存储,方案采用keychain、NSUserDefault。

[x] 2、图片资源信息存储

0 0