ios - iOS中模型、 View 和演示者的不同框架?

标签 ios mvp viper-architecture

我是 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/

相关文章:

java - 组合模型或实体?

ios - 如何将 IBOutlet 值从 View 传递给 VIPER iO 中的交互器?

objective-c - NSURLConnection sendSynchronousRequest 的问题

ios - iOS应用如何自定义导航的高度?

objective-c - IOS:用 UIImageView 填充 NSArray

ios - 我应该在哪里定义 iOS 中 VIPER 架构中的业务逻辑,Swift

swift - 如何在 RxDataSource 中反射(reflect)新的部分到 UICollectionView?

ios - SegmentedControlStyle 在 iOS 7 及更高版本 (8.4) 中弃用 | Xcode 6.4

asp.net - ASP.net Model View Presenter 值得花时间吗?

使用 MVP 的 VBA 设置对话框 - 我需要模型吗?