iOS-MVC

mvc框架的目标是将应用分成三个功能部分,每个部分都包含数据和逻辑

模型

负责管理用户使用的数据

领域模型

包含了应用的数据与相应的操作,及包含转换、创建、存储和操作数据的规则,通常称为模型逻辑

领域模型

  • 包含

    • 领域数据
    • 创建、管理和修改领域数据的逻辑
    • 提供清晰的,可访问和操作模型数据的API
  • 不包含

    • 暴露模型数据的获取方式或者管理方式
    • 根据用户操作修改模型的逻辑(控制器职责)
    • 将数据展示给用户的逻辑(视图职责)

视图模型

从控制器传递到视图的数据,视图将这类数据展示给用户

视图

视图模型展示给用户
  • 包含

    • 将数据呈现给用户的逻辑或者标记
  • 不包含

    • 复杂的逻辑(控制器)
    • 创建、存储和操作模型的逻辑

控制器

负责响应用户交互,同时扮演者模型与视图之间的桥梁角色
  • 包含

    • 初始化模型的逻辑
    • 视图展示模型中的数据的逻辑和行为
    • 根据用户操作更新模型的逻辑和行为
  • 不包含

    • 向用户展示数据的逻辑(视图职责)
    • 处理数据持久化的逻辑(模型职责)
    • 操作自己领域之外的数据

交叉部分

  • 日志功能
  • 授权功能