相关疑难解决方法(0)

构建iOS网络应用程序的最佳架构方法(REST客户端)

我是一名具有一定经验的iOS开发人员,这个问题对我来说非常有趣.我在这个主题上看到了很多不同的资源和材料,但是我仍然感到困惑.iOS网络应用程序的最佳架构是什么?我的意思是基本的抽象框架,模式,它适合每个网络应用程序,无论它是一个只有少量服务器请求的小应用程序还是复杂的REST客户端.Apple建议将其MVC用作所有iOS应用程序的基本架构方法,但MVC现在的MVVM模式都不能解释网络逻辑代码的放置位置以及如何组织它.

我是否需要开发类似MVCS(Sfor Service)的东西,并在此Service层放置所有API请求和其他网络逻辑,这在视角可能真的很复杂?在做了一些研究后,我找到了两种基本方法.这里建议为Web服务的每个网络请求API(如LoginRequest类或PostCommentRequest类等)创建一个单独的类,它们都继承自基本请求抽象类AbstractBaseRequest,另外还创建了一个封装了常见网络代码的全局网络管理器.其他首选项(可能是AFNetworking自定义或RestKit调优,如果我们有复杂的对象映射和持久性,甚至是使用标准API的自己的网络通信实现).但这种方法对我来说似乎是一个开销.另一种方法是在第一种方法中使用一些单例API调度程序或管理器类,但不是为每个请求创建类,而是将每个请求封装为此管理器类的实例公共方法,如:fetchContacts,loginUser方法等.那么,什么是最好的和正确的方法?还有其他有趣的方法我还不知道吗?

我是否应该为所有这些网络内容创建另一个层,例如Service,NetworkProvider层或其他任何在我的MVC架构之上,或者该层应该集成(注入)到现有MVC层中,例如Model

我知道存在很好的方法,或者像Facebook客户端或LinkedIn客户端这样的移动怪物如何应对指数级增长的网络逻辑复杂性?

我知道这个问题没有确切而正式的答案.这个问题的目标是从经验丰富的iOS开发人员那里收集最有趣的方法.最佳建议方法将被标记为已接受并获得声誉奖励,其他方式将被赞成.这主要是一个理论和研究问题.我想了解iOS中网络应用程序的基本,抽象和正确的架构方法.我希望有经验的开发人员提供详细解释.

networking web-services objective-c ios ios7

314
推荐指数
5
解决办法
6万
查看次数

标签 统计

ios ×1

ios7 ×1

networking ×1

objective-c ×1

web-services ×1