VIPEP介绍

2018-04-23  本文已影响12人  你weixiao的时候很美

本篇参考:使用VIPER来构建iOS应用程序

1.viper介绍

VIPER是一个创建IOS应用层的架构。

View:视图,根据presenter的要求,显示界面。并将用户输入反馈给展示器。
interactor:交互器,包含由用例指定的业务逻辑。
presenter:展示器,为显示视图做的准备工作,对用户输入进行反馈。
Entity:实体,就是model。
Routing:路由。

viper.png
2.viper解释:

1.交互器interactor
交互器在应用中代表着一个独立的用例,用例use case代表的是一个完整的,独立的,细分过后的业务流程。交互器可以操纵模型对象(实体)执行特定的任务,交互器中的工作应当独立与任何用户界面。

  1. 实体entity
    就是model类。 而且只能被交互器所操作。仅仅是model的数据结构。

  2. 展示器presenter
    Presenter可以看做是上面一个个use case的使用者和响应者。将各个use case串联起来描述一个完整详细的业务流程,比如我们的登录模块,每次用户点击按钮注册的时候,会触发一系列的use case,从检验用户输入合法性,设备网络状态,服务器资源是否可用,到最后处理结果并展示。

4.视图view
视图一般是被动的,它通常等待展示器下发需要显示的内容,而不会向其索取数据。展示器通过内容进行表达,而不关心那些内容所显示的样子。内容如何被显示是由视图来进行控制的。

5.路由 Routing
将页面跳转的路由功能单独拎出来。

3.和MVX的区别
viper把mvc中的controller拆分成了presenter,interactor,和router。

优点是: 可测试性好, 隔离程度高, 分工明确。
缺点: 层与层之间需要设计接口。

上一篇 下一篇

猜你喜欢

热点阅读