网络架构
架构设计
核心层类图
Service存在的意义
一个接口(API)可能根据不同的参数实现不同的功能,那么这些逻辑如果全在API层,则会使得API层耦合严重,代码混乱,同样如果在应用层也不好。
Service层就是为了保证API层功能单一、结构简单。进行一些业务逻辑上的处理。
比如:
/room/communicate/cancel
的功能是移除连麦申请,但是会根据参数opt
来判断是清空列表还是移除某个人。
这时:API层只需负责根据参数实现接口的访问,具体是什么样的参数,就由Service层来提供。
API层代码,只有一个方法
/**
取消连麦申请
@param roomID 房间ID
@param type 类型,取消单个还是全部
@param uid 如果取消单个,那么这个必填,用户ID
@param block 回调
@return 请求ID
*/
+ (NSString *)revokeMicWithRoomID:(ULLInteger)roomID type:(NSInteger)type removedUID:(ULLInteger)uid callback:(ULAPIResultCallback)block;
Service层代码,有两个方法
/**
取消单人连麦申请
@param roomID 房间ID
@param uid 用户ID
@param block 回调
@return 请求ID
*/
+ (NSString *)revokeMicWithRoomID:(ULLInteger)roomID removedUID:(ULLInteger)uid callback:(void (^)(BOOL isSuccess, NSString *message))block;
/**
取消房间内所有人的连麦申请
@param roomID 房间ID
@param block 回调
@return 请求ID
*/
+ (NSString *)revokeMicWithRoomID:(ULLInteger)roomID callback:(void (^)(BOOL isSuccess, NSString *message))block;