iOS中的模块化开发思路一
2015-07-06 23:18
423 查看
我想不光是在iOS开发中,在其他各种软件产业开发中,模块化开发是必不可少的一种开发模式。
那么,在iOS中如何做到模块化开发、小伙伴们之间并行的有规矩的开发、集成、代码了?答案是,设计模式出。依赖抽象,不依赖具体实现。
第一步,拿到每一个模块的开发任务的小伙伴们,首先不要马上去写各种viewController、subViews、networkApi、dataBaseApi、entity.... 。我想的是,我们应该定义一下接口,告诉其他调用这个模块的小伙伴们,我们这个模块能够干一些什么...
@protocol ZSYCustomerLogicProtocol <ZSYViewModelBaseProtocol> /** * 用户注册 * * @param mobile 手机号 * @param password 登录密码 * @param code 验证码 */ - (ZSYRequest *)registAPIWithMobile:(NSString *)mobile Password:(NSString *)password Code:(NSString *)code; /** * 用户登录 * * @param mobile 手机号 * @param password 登录密码 */ - (ZSYRequest *)loginAPIWithMobile:(NSString *)mobile Password:(NSString *)password; /** * 查询手机号(登录名)是否已注册 * * @param mobile 手机号 * @param block 回传查询到的用户对象 */ - (ZSYRequest *)isRegistAPI:(NSString *)mobile; /** * 验证登录名 * * @param mobile 手机号 */ - (ZSYRequest *)checkMobileAPI:(NSString *)mobile; /** * 保存客户端生成的手势密码到服务器 * * @param mobile 手机号 * @param pwd 手势密码 */ - (ZSYRequest *)saveGesturePasswordAPIWithMobile:(NSString *)mobile Password:(NSString *)pwd; /** * 修改手势密码 * * @param mobile 手机号 * @param oldPwd 原手势密码 * @param newPwd 新手势密码 */ - (ZSYRequest *)updateGesturePasswordAPIWithMobile:(NSString *)mobile OldPwd:(NSString *)oldPwd NewPwd:(NSString *)newPwd; //登录 - (YTKChainRequest *)loginCustomerLogicWithMobile:(NSString *)mobile Password:(NSString *)password ForgetGesturePasswordBlock:(void (^)(void))forgetGestureBlock CreateGesturePasswordBlock:(void (^)(void))createGestureBlock; //注册界面的业务逻辑 【注册新账号】 - (YTKChainRequest *)registCustomerLogicWithMobile:(NSString *)mobile Password:(NSString *)password Code:(NSString *)code GesturePasswordBlock:(void (^)(void))gesturePwdBlock; //登录界面的业务逻辑【找回手势密码 or 登录密码】 - (YTKChainRequest *)findGestureOrLoginPasswordLogicWith:(NSString *)mobile Password:(NSString *)password Code:(NSString *)code GesturePasswordBlock:(void (^)(void))gesturePwdBlock; //注册界面的业务逻辑 【找回密码】 - (YTKChainRequest *)findLoginPasswordLogicWithMobile:(NSString *)mobile; @end
第二步、我们再去给这些定义的接口,做具体的代码实现。
第三步、使用Objection给我们暴露的接口,绑定一个具体实现类。让调用者只通过接口,得到我们的一个具体业务逻辑实现类,完成所有的定义的业务操作。
注意:Objection真是个好东西,类似Java里面的Spring Ioc。
相关文章推荐
- OC内存管理-02
- 如何自定义iOS中的控件 分类: ios
- iOS7中的多任务
- ios学习7_iPhone屏幕尺寸、分辨率及适配
- iOS编程:学习篇(五)
- ios foundation
- iOS中定时器NSTimer的一些用法总结
- ios常用的几个动画代码
- ios多线程
- ios内存管理
- iOS中的Cookie
- iOS 通过接受距离传感器的消息改变屏幕的明暗度(仅限用于真实的手机)
- 招聘一个靠谱的 iOS Dever
- iOS开发多线程篇---atomic nonatomic区别
- iOS中使用点语法
- 第一个ios程序
- iOS开发~内存管理资料整理
- IOS并发编程——Grand Center Dispatch
- text
- IOS开发高效宏整理