AFNetworking设计模式,用于将REST请求/响应包装为对象

时间:2014-08-12 11:58:11

标签: objective-c class rest design-patterns afnetworking-2

我正在开发一个使用AFNetworking 2.0进行REST通信的IOS项目。我很想知道是否有一个好的设计模式将请求/响应包装为单个类。我想创建一个基类,比如AbstractHTTPRequest,它具有基本完成代码(即请求成功,检查等),这对所有AbstractHTTPRequest派生类都是通用的。

其中一个派生类将是一个派生自AbstractHTTPRequest的注册请求(SignupHTTPRequest)。然后我希望有一个“客户端”类,其中包含与每个请求相对应的方法,例如:

@interface MyHTTPClient
  (SignupHTTPRequest *) newSignupRequest...;
@end

我想知道是否有其他人将AFNetworking使用的NSURLSessionDataTask / NSURLRequest等类包装成我想要的一组连贯的类。对我来说,将整个事物(逻辑,数据等)封装到一个类中是很重要的,但到目前为止,大多数尝试都是完全混乱的,我对此并不满意。凌乱的一点与大多数方法意味着两组完成块的事实有关。泛型类(AbstractHTTPRequest)用于AFNetworking完成的一个,然后是使用实际HTTPRequest的代码的另一个集合。你最终得到了这个讨厌的完成块链。

有什么想法吗?

[R

1 个答案:

答案 0 :(得分:0)

[思想...]

1)冯军胜。所以你想标记某些"类"代码总是调用一些默认的方便方法?这是我看到的关系:

  

从人的角度来说,我会"委托"一个总是由person1完成的任务,因为他的角色是"定义"和我一起工作的时候。"

为代理创建objective-c协议是否有帮助?我提醒过漂亮的Python装饰者,但不能完全翻译它。

2)我读过你正在尝试的BTL是否正确...最后阻止不分青红皂白地运行公共电话?