我最近发现了VIPER clean architecture,并开始寻找在Android平台上应用此架构的示例教程。然而,我只发现了一些样本项目,这让我感到困惑,这就是为什么我想遵循一个简单的例子来理解VIPER的基本原理。我想知道是否有人可以在上面分享一些好的教程。
发布于 2019-04-30 12:21:14
我们开发人员基本上根据需要使用MVC、MVP或MVVM架构进行开发。选择哪种架构来开发应用程序是很重要的。影响软件体系结构选择的因素很多,如系统设计、需求、时间线等。
在Viper架构中,每个块对应于一个具有特定任务、输入和输出的对象。这与装配线上的工人非常相似:一旦工人完成了对对象的工作,对象就会传递给下一个工人,直到产品完成。
V (视图):视图负责UI更新,并显示演示者告诉它的任何内容。
Interactor I():交互器负责从模型层获取数据,其实现完全独立于用户interface.All在交互器中编写的业务逻辑。例如,获取在交互器中编写的用户数据API调用。
P ( Presenter ):演示者扮演中介者的角色,它从交互中获取数据并传递给。(它可以是数据或任何用户操作)
E (Entity):基本上它包含了交互者使用的对象模型。例如,学生、朋友、学院等等。
R (路由器):它包含应用程序的导航逻辑。例如,下一步按钮操作显示第二个屏幕。
此外,我还使用了协议,它包含应用程序的特定模块的所有规则和工作流。在iOS中,为每个模块写在单独的协议快速文件中的所有协议。
优势:
-All的模块是独立的,所以毒蛇非常适合大型团队。
-It使源代码更干净、更紧凑和可重用
-It更容易采用测试驱动开发( TDD )
-You可以轻松地向现有应用程序添加新功能,而不需要更改其他模块。
-It可以应用扎实的原则。
-Reduced合并冲突数。
-It使编写自动化测试变得很容易,因为您的UI逻辑与业务逻辑是分离的
参考:https://medium.com/@javedmultani16/viper-architecture-viper-64f6cd91e6ec
https://stackoverflow.com/questions/38408795
复制相似问题