MVC
作为所有iOS应用程序的基本架构方法,但无论是MVC
还是更现代的MVVM
模式都没有解释在哪里放置网络逻辑代码以及如何组织它。
我是否需要开发类似MVCS
(S
for Service
)的东西,并在这个Service
层中放置所有API
请求和其他网络逻辑,从角度来看可能真的很复杂?在做了一些研究之后,我发现了两种基本的方法。S
4建议为每个对web服务API
的网络请求创建一个单独的类(如LoginRequest
类或PostCommentRequest
类等),这些类都继承自基本请求抽象类AbstractBaseRequest
,此外还可以创建一些全局网络管理器,封装公共网络代码和其他首选项(可能是AFNetworking
自定义或S
0调优,如果我们有复杂的对象映射和持久化,甚至可以使用标准API实现自己的网络通信)。但这种方法对我来说似乎是一种开销。另一种方法是使用一些单独的API
分派器或管理器类,如第一种方法中的S
5,为每个请求创建类,并将每个请求封装为该管理器类的实例公共方法,如:S
2, S
3方法等。那么,什么是最好和正确的方法呢?还有其他我不知道的有趣的方法吗?
我是否应该为所有这些网络内容创建另一层,如Service
,或NetworkProvider
层或任何在我的MVC
架构之上的东西,或者该层应该集成(注入)到现有的MVC
层,如Model
?
我知道存在很好的方法,但是像Facebook客户端或LinkedIn客户端这样的移动怪物是如何处理呈指数级增长的网络逻辑的?
我知道这个问题没有确切而正式的答案。这个问题的目的是从有经验的iOS开发人员那里收集最有趣的方法。建议的最佳方法将被标记为已接受,并获得声誉奖励,其他方法将得到好评。这主要是一个理论和研究问题。我想了解iOS中网络应用的基本、抽象和正确的架构方法。我希望有经验的开发人员能给出详细的解释。