Viper架构初探(一):架构实践与职责架势

2019-10-17  本文已影响0人  FanChason

Viper架构实践

基于Viperit写了一个简单的新闻的demo
XCViperitDemo

Xnip2019-10-17_15-08-55.jpg

Viper架构图

image 1865432-580872920986b640.png

VIPER的主要部分

简介

这种分离也符合单一责任原则
Interactor负责业务分析师
Presenter代表交互设计师
View负责视觉设计师

相比MVX

相比之前的MVX架构,VIPER多出了两个东西:Interactor(交互器)和Router(路由)。

各部分职责如下:

- View
提供完整的视图,负责视图的组合、布局、更新
向Presenter提供更新视图的接口
将View相关的事件发送给Presenter

- Presenter
接收并处理来自View的事件
向Interactor请求调用业务逻辑
向Interactor提供View中的数据
接收并处理来自Interactor的数据回调事件
通知View进行更新操作
通过Router跳转到其他View

- Router
提供View之间的跳转功能,减少了模块间的耦合
初始化VIPER的各个模块

- Interactor
维护主要的业务逻辑功能,向Presenter提供现有的业务用例
维护、获取、更新Entity
当有业务相关的事件发生时,处理事件,并通知Presenter

- Entity
和Model一样的数据模型

Viper模版代码生成工具

推荐两个模版

Viperit

Generamba

了解模版语言Liquid

github源码:liquid
Liquid 模板语言中文文档

Liquid 是一门开源的模板语言,由 Shopify 创造并用 Ruby 实现。它是 Shopify 主题的骨骼,并且被用于加载店铺系统的动态内容。

从 2006 年起,Liquid 就被 Shopify 所使用,现在更是被大量 web 应用所使用

参考:

  1. viper原作者 By Jeff Gilbert and Conrad Stoll
    Architecting iOS Apps with VIPER
  2. iOS VIPER架构实践(二):VIPER详解与实现
  3. iOS架构模式-VIPER
上一篇 下一篇

猜你喜欢

热点阅读