码迷,mamicode.com
首页 > 移动开发 > 详细

iOS中的模块化开发思路一

时间:2015-07-07 00:49:34      阅读:271      评论:0      收藏:0      [点我收藏+]

标签:

我想不光是在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。

 

iOS中的模块化开发思路一

标签:

原文地址:http://www.cnblogs.com/xiongzenghui/p/4625702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!