gpt4 book ai didi

android - 如何理解 VIPER 清洁架构?

转载 作者:IT老高 更新时间:2023-10-28 23:23:54 27 4
gpt4 key购买 nike

我最近发现了VIPER clean architecture我开始寻找在 Android 平台上应用这种架构的示例教程。然而,我只发现了一些让我感到困惑的示例项目,这就是为什么我想通过一个简单的例子来了解 VIPER 的基本原理。我想知道是否有人可以分享一些关于上述内容的好教程。

最佳答案

我们开发人员基本上根据需求使用 MVC、MVP 或 MVVM 架构进行开发。选择哪种架构来开发应用程序很重要。影响软件架构选择的因素很多,如系统设计、需求、时间线等。

在 Viper 架构中,每个 block 对应一个具有特定任务、输入和输出的对象。这与流水线中的 worker 非常相似:一旦 worker 完成了对一个对象的工作,该对象就会传递给下一个 worker ,直到产品完成。

V( View ): View 负责 UI 更新并显示演示者告诉它的任何内容。

I(Interactor):Interactor负责从模型层获取数据,其实现完全独立于用户界面。所有业务逻辑都写在Interactor内部。例如。获取在交互器中编写的用户数据 API 调用。

P(Presenter):Presenter 扮演中间人的角色,它从交互中获取数据并传递给 View。 (可能是数据或任何用户操作)

E(实体):基本上它包含交互器使用的对象模型。例如。学生、 friend 、大学等

R(路由器):它包含应用程序的导航逻辑。例如。下一个按钮操作显示第二个屏幕。

此外,我使用了 PROTOCOL,其中包含应用程序特定模块的所有规则和工作流程。在 iOS 中,每个模块的所有协议(protocol)都写在单独的协议(protocol) swift 文件中。

好处:

-所有模块都是独立的,因此 VIPER 非常适合大型团队。

-它使源代码更简洁、更紧凑和可重用

-更容易采用TDD(测试驱动开发)

-您可以轻松地向现有应用程序添加新功能,而无需更改其他模块。

-可以应用SOLID原则。

-减少合并冲突的数量。

-由于您的 UI 逻辑与业务逻辑分离,因此可以轻松编写自动化测试 enter image description here

引用:https://javedmultani16.medium.com/viper-architecture-viper-d740d98b7529

关于android - 如何理解 VIPER 清洁架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408795/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com