什么是VIPER 架构模式

VIPER是一种用于iOS开发的设计模式,将应用程序分解为展示器、交互器、实体、路由器等组件,提高了代码的可测试性和任务均摊性。本文详细解释了VIPER各组件的职责及其在iOS开发中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从字面意思来理解,VIPER 即 View Interactor Presenter Entity Router(展示器(视图) 交互器 协调器 实体(数据) 路由器),迄今为止,划分责任的粒度是很好的选择。VIPER 在责任划分层面进行 了迭代,VIPER 分为五个层次:

展示器 -- 包含 UI 层面的业务逻辑以及在交互器层面的方法调用。

交互器 -- 包括关于数据和网络请求的业务逻辑,例如创建一个实体(数据),或者从服务器中获取一些数据。为了实现这些功能,需要使用服务、管理器,但是他们并不被认为是 VIPER 架构内的模块,而是外部依赖。

实体 -- 普通的数据对象,不属于数据访问层次,因为数据访问属于交互器的职责。

路由器 -- 用来连接 VIPER 的各个模块。


1)VIPER 模式下的三个特性的分析:

任务均摊 -- 毫无疑问,VIPER 是任务划分中的佼佼者。

可测试性 -- 不出意外地,更好的分布性就有更好的可测试性。

易用性 -- 必须为很小功能的类写出大量的口。

2)iOS VIPER 示意图:

基本上,VIPER 模块可以是一个屏幕或者用户使用应用的整个过程。VIPER 是第一个通过路由器实现明确的地址导航模式。

当我们把 VIPER 和 MV(X) 系列作比较时,我们会在任务均摊性方面发现一些不同: Model 逻辑通过把实体作为最小的数据结构转换到交互器中。Controller/Presenter/ViewModel 的 UI 展示方面的职责移到了 Presenter 中,但是并没有数据转换相关的操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冯子一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值