【问题标题】:Architecture of iOS project [closed]iOS项目的架构[关闭]
【发布时间】:2016-01-04 11:45:25
【问题描述】:

在 iOS 中,我们通常遵循 MVC 项目结构,但它使我们的视图控制器非常庞大。

我看过很多 Github 项目,但没有这样的例子可以让我的视图控制器变小、模块化代码、可重用代码等等。

通常我正在做的事情是这样的......Image of architecture

  • 服务层处理是否要将数据保存在CoreData中的逻辑,并为网络层提供适当的参数以进行api调用..
  • 网络层根据需要调用带有或不带有header或token的api,然后得到响应,然后解析数据,并将临时模型提供给服务层。

但我仍然无法找到为 iOS 项目创建架构的最佳方式。如果有人向我提供任何链接或向我们提供其代码的任何 github 链接,那将非常有帮助。

【问题讨论】:

  • @colidyre 感谢您指出...我会在那里写同样的...
  • @colidyre - 除非您熟悉其他网站的质量指南,否则请不要推荐其他网站。这个问题对程序员来说太宽泛了。
  • 我不完全同意。 OP 展示了一个描述软件架构的图像。这是 imo 在那里给出答案的好点。但可以肯定的是,人们肯定可以有另一种意见。但最后,这个主题明确地更多地属于程序员而不是 SO。 OP 可以在那里提出问题并且可以根据需要将那里的问题编辑得更具体。
  • @colidyre - 作为程序员的most active close voters 之一,我向您保证,这个问题不适合。如果您查看cross-post,您会发现它已被否决,目前有 3 个 VTC。架构问题属于程序员,是的。但是这个问题太宽泛了。另请参阅:meta.programmers.stackexchange.com/questions/7182/…
  • 好的。澄清一下:对于 OP 的反对票,我感到非常抱歉。但我从未说过复制/粘贴并按原样交叉发布问题是个好主意。但不要将其扩展到讨论:下次我将检查问题,尤其是来自新用户的问题,是否也符合建议网站的指南。承诺。谢谢提示。

标签: ios architecture code-reuse


【解决方案1】:

我写了一个quick introduction to MVVM。它简要解释了 MVVM 是什么以及为什么应该在 MVC 上使用它。 Here's 更详细地了解 MVVM。

如果你需要更多的造粒,你可以使用VIPER

在我看来,MVVM 非常适合小型/中型项目,而 VIPER 应该考虑用于具有大量贡献者的大型项目。

您需要一些语言机制来在 MVVM 中进行绑定。 KVO 完成了这项工作,但它的 API 不是很好。您可以尝试 ReactiveCocoa 在 MVVM/VIPER 中进行数据绑定。

【讨论】:

    【解决方案2】:

    您可以查看 MVVM 模式。一些例子是here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 2015-07-19
      • 1970-01-01
      • 2013-09-10
      • 1970-01-01
      • 2021-05-29
      • 1970-01-01
      相关资源
      最近更新 更多