我是一位有一定经验的iOS开发人员,这个问题对我来说真的很有趣。我在这个主题上看到了很多不同的资源和资料,但是我仍然感到困惑。iOS联网应用程序的最佳架构是什么?我的意思是说,基本的抽象框架,模式将适合每个网络应用程序,无论它是只有几个服务器请求还是复杂的REST客户端的小型应用程序。苹果公司建议将其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中联网应用程序的基本,抽象和正确的体系结构方法。我希望有经验的开发人员提供详细的解释。