首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何理解VIPER clean架构?

如何理解VIPER clean架构?
EN

Stack Overflow用户
提问于 2016-07-16 15:15:26
回答 1查看 12.5K关注 0票数 20

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38408795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档