VIPER🐍iOS的架构演进

很久以前,我们的iOS团队决定尝试VIPER体系结构模式。 周围的模式有很多变化。 随着时间的流逝,我们有各种各样的用例,而经典的VIPER架构(请参见下文)无法提供标准化的解决方案。 因此,我们根据需要修改了架构模式。 现在,我想分享我们的学习和改进。

对于那些不了解VIPER架构模式的人来说,这是一个简单的示例:假设您要显示应用程序中的项目列表。 通常,您只会创建一个包含该UIViewUIViewController 。 用VIPER方式进行操作意味着您将创建5个组件,这些组件全部由其负责。

  1. 视图:我想你们都知道这个组件是什么。 大多数时候,它是一个UIViewController ,有时只是一个UIView 。 它向用户显示UI元素。
  2. 演示者:他负责从Interactor中获取数据,从该数据创建视图模型以及更新View。 此外,他告诉路由器导航到另一个视图或显示另一个视图
  3. Interactor: Interactor处理业务逻辑,例如从API或本地数据库中获取数据。
  4. 路由器:如前所述,他负责导航,这可能意味着显示模态视图控制器或将视图控制器推入导航堆栈。
  5. 线框:他连接了上述所有组件,并返回了准备使用的View

在下文中,我将使用VIPER堆栈作为上述所有组件的别名。

started我们开始的VIPER架构变体

看看我们开始的VIPER Architecture变体。