1. 遇到许多工程师缺乏比较规范化的使用FMDB、ASIRequest、公共宏定义处理、类别使用等。 2. APP内部,许多地方会用到这些公共类。 3. 尤为是FMDB与ASIRequest使用的很糟糕。 4. 分层模式,属于数据访问层的封装。
1. APP Internal Share Classes,包含了FMDB,ASIRequest框架。 2. 你能够将APP内部公用功能类、宏定义、Model等放到对应的目录下。 3. 这份文档更大的意义是:指导性做用。
1. 以HTTP网络请求为例,采用面向接口的方式,设计了网络请求层public api。 2. 开发者只须要按照登录示例方式,新增协议方法,新增发送网络请求方法、完成与失败方法。 3. 使用者只须要: 3.1. 查看在HttpManagerProtocol.h相关接口说明。 3.2. VC类 conform HttpManagerProtocol协议,并实现感兴趣的方法。 3.3. VC类发送网络请求 [[HttpManager sharedManager] sendLoginHttpRequest:vc requestParam:param callbackParam:callbackParam]; 4. 接口方法将model或者错误信息返回给vc,用于进一步处理。 总结: 优点: 各个vc只须要实现本身感兴趣的协议方法。 消息返回,只会返回给源消息发送者。(这个借鉴了target-action模式) 消息的发送与返回,逻辑清晰。 逻辑层与数据访问层均是面向接口设计实现本身的功能,相互 劣势: 须要新增比较多的协议方法。
1. 这个类并无真的建立(当前)。 2. DBManager能够是一个(我的认为应该最好是)APP singleton,处理多线程问题。 3. 对于多进程间数据库访问问题,能够考虑采用其余方式解决。
源码示例git