首页 > 移动平台 > 详细

iOS中的模块化开发思路一

时间:2015-07-07 00:47:51      阅读:353      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!