我最近发现了VIPER清晰架构,并开始寻找在Android平台上应用此架构的示例教程。然而,我只找到了一些样例项目,对我来说有点困惑,因此我想遵循一个简单的例子来了解VIPER的基本原理。我想知道是否有人可以分享一些关于这方面的好教程。
我最近发现了VIPER清晰架构,并开始寻找在Android平台上应用此架构的示例教程。然而,我只找到了一些样例项目,对我来说有点困惑,因此我想遵循一个简单的例子来了解VIPER的基本原理。我想知道是否有人可以分享一些关于这方面的好教程。
开发人员基本上根据需求使用MVC、MVP或MVVM架构进行开发。选择哪种架构来开发应用程序很重要,许多因素会影响软件架构的选择,如系统设计、需求、时间表等。
Viper架构中,每个块都对应着一个具有特定任务、输入和输出的对象。它非常类似于流水线上的工人:一旦工人完成了对一个对象的工作,对象就被传递给下一个工人,直到产品完成。
V(视图):视图负责更新UI并显示展示器告诉它的内容。
I(交互器):交互器负责从模型层获取数据,其实现完全独立于用户界面。所有业务逻辑都写在交互器中。例如,在交互器中编写获取用户数据API调用。
P(展示器):展示器充当中间人的角色,它从交互中获取数据并传递给视图(可以是数据或任何用户操作)。
E(实体):基本上它包含交互器使用的对象模型。例如,学生、朋友、大学等。
R(路由器):它包含应用程序的导航逻辑。例如,下一步按钮操作显示第二个屏幕。
此外,我使用了PROTOCOL,该协议包含了特定模块应用的所有规则和工作流程。在iOS中,每个模块的协议都写在单独的协议Swift文件中。
好处:
-所有模块都是独立的,因此VIPER非常适合大团队。
-它使源代码更加清晰、紧凑和可重用。
-它更容易采用TDD(测试驱动开发)。
-您可以轻松地向现有应用程序添加新功能,而无需可能改变其他模块。
-它可以应用SOLID原则。
-减少合并冲突的数量。
参考资料:https://javedmultani16.medium.com/viper-architecture-viper-d740d98b7529