zoukankan      html  css  js  c++  java
  • iOS

    1、VIPER

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

      • 展示器 -- 包含 UI 层面的业务逻辑以及在交互器层面的方法调用。
      • 交互器 -- 包括关于数据和网络请求的业务逻辑,例如创建一个实体(数据),或者从服务器中获取一些数据。为了实现这些功能,需要使用服务、管理器,但是他们并不被认为是 VIPER 架构内的模块,而是外部依赖。
      • 实体 -- 普通的数据对象,不属于数据访问层次,因为数据访问属于交互器的职责。
      • 路由器 -- 用来连接 VIPER 的各个模块。
    • 1)VIPER 模式下的三个特性的分析:

      • 任务均摊 -- 毫无疑问,VIPER 是任务划分中的佼佼者。
      • 可测试性 -- 不出意外地,更好的分布性就有更好的可测试性。
      • 易用性 -- 必须为很小功能的类写出大量的口。
    • 2)iOS VIPER 示意图:

      VIPER1

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

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

  • 相关阅读:
    精彩分享
    Cocoa.Programming.for.Mac.OS.X 3rd 前8章小知识点
    ObjectiveC protocol 和 delegate
    Object copying
    KeyValue Observing
    实现KeyValue Coding 的5种方法
    关于 XIB 和 NIB
    ObjectiveC 中的 self 和 super
    使用KeyValue Coding
    PrepareStatement的两个executeQuery语句
  • 原文地址:https://www.cnblogs.com/QianChia/p/5771097.html
Copyright © 2011-2022 走看看