我是 iOS 开发的新手,所以如果我的问题听起来微不足道,请原谅我。
我打算引入 MVP 或 VIPER 模式。我来自网络背景,在网络应用程序中,我们曾经遵循不同的层/dll(用于模型、 View 、通用等)。在 iOS 中遵循相同的分层方法(在这种情况下为框架)是否有意义,或者它会矫枉过正?我没有遇到任何为模型、 View 和演示者创建不同框架的示例项目(基于 MVP)?如果有人可以分享我们可以用作入门项目的任何示例项目(基于 MVP),那就太好了。
提前致谢
最佳答案
在 iOS 中,我们一般使用 MVC - Model/View/Controller .因此,如果您正在寻找 iOS 世界中的模拟,就是这样。如果您说您真的深入研究了 MVC,并且您发现某些东西非常不满意,因此想要引入不同的模式,那么这是一个不同的问题。
所以,不,你在像 MVC 这样的方法中看到的那种逻辑上的职责分离并不过分。事实上,“ View ”和“ Controller ”类的划分对于我们所做的一切都是相当重要的(例如 UIView
子类、UIViewController
子类等),因此您真正需要做的唯一事情就是设计合适“模型”类(class),您就可以参加比赛了。
但是,在回答您的问题时,您通常不会为模型、 View 和 Controller 使用单独的框架目标。那可能是矫枉过正。通常,您可以通过在项目中明智地使用 Xcode 组/文件夹来跟踪所有内容。我们通常仅出于更多技术或逻辑原因(实时 View 、应用程序扩展、在多个应用程序之间共享代码等)将内容放入框架中……请参阅 WWDC 2015 Building Modern Frameworks 讨论您通常何时使用框架)。
但是对于 MVC 与 MVP 或 VIPER(或 MVVM 或其他)的问题。我建议您简单地接受所有这些模式的共同精神(即职责分离)并将其应用到您的 iOS MVC 代码中。一旦你掌握了一些 iOS 经验,你就可以重新评估这个模式问题。
关于ios - iOS中模型、 View 和演示者的不同框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40730633/