iOS开发 使用viper架构构建复杂页面

iOS开发经常使用的页面架构:

  • MVC
  • MVVM
  • VIPER

viper模块结构 及 交互方式

viper结构

  • 视图:根据展现器的要求显示界面,并将用户输入反馈给展现器。
  • 展现器:包含为显示(从交互器接受的内容)作的准备工做的相关视图逻辑,并对用户 输入进行反馈(从交互器获取新数据-->处理成View须要的数据---> 更新view)。
  • 交互器:包含由用例指定的业务逻辑(只有业务数据处理)。
  • 实体:包含交互器要使用的基本模型对象(瘦Model)。
  • 路由:包含用来描述屏幕显示和显示顺序的导航逻辑。

Presenter 和 View

Presenter 与 View

  • 各个视图将事件传递给Presenter处理。
  • Presenter处理生成View须要的数据,并传给View 更新页面。
  • 根据接口隔离原则 ,每一个View对应两个接口。

Presenter 和 Interactor

Presenter 和 Interactor

  • Presenter就业务数据与UI的桥梁。

使用viper的好处

  • 业务代码与ui代码分离,易于进行单元测试。

单元测试举例 (借助OCMock)

  • Presenter测试, P与V。 测试内容为业务数据到View的处理逻辑 html

  • Interactor测试, 侧重与数据处理 git

其余资料

相关文章
相关标签/搜索