VIPER架构

170 阅读1分钟

IOS架构-VIPER

一.问题.

  • view层执行了过多的业务代码

  • view层没有和model进行分离

  • 控制器过于厚重

  • 代码利用价值差

二. 重构的原则

  • 单一职责原则
  • 单一职责原则是最好的架构 -> VIPER

三. VIPER含义:

视图(VIew),交互器(interactor),展示器(Presenter),实体(Entity)以及路由(Routing)

  • 视图(VIew):UI展示
  • 交互器(interactor):包括关于数据和网络请求的业务逻辑,例如创建一个实体(数据),或则从服务器中获取一些数据。
  • 展示器(Presenter):包含UI层面的业务逻辑以及在交互器层面的方法调用。
  • 实体(Entity):普通的数据对象,不属于数据访问层次,因为数据访问属于交互器的职责
  • 路由器(Routing):用来连接VIPER的各个模块

四.架构图

viper架构图.png

五.相关资料