一个好的iOS客户端架构例子

客户端架构采用分层实现。从上到下依次是展示层、中间层、业务层、基础功能层。

一. 展示层

View+Viewcontroller

二. 中间层

Presenter, 负责与业务层通信,拿取数据,给展示层刷新界面

三. 业务层

1. Module 按模块划分, 每个模块有一个ServiceFactory,接受入参,提供各种Service.

2. Service 是对各种Request的封装。所做的工作如下:

a. 调用Request获取数据;b. 缓存数据(可以是sqlite或者文件);c. jsonvalidate,防止脏数据崩溃;

提供的接口,以delegate或者block方式提供给Presenter。按需要,提供成功回调,失败回调和缓存回调。

另外,要注意,有些接口只从缓存中拿。一次Serivce对此类接口,需要和走网络的接口分开处理。

3. RequestAPI,采用YTKNetworking,继承YTKBaseRequest。

四. 基础功能层

YTKNetworking, 与业务无关。对AFNetworking进行封装。非常灵活。

你可能感兴趣的:(一个好的iOS客户端架构例子)