iOS 程序架构

为了解决 MVC 架构中的重量级视图控制器问题,有两种架构方案:

1. MVVM

MVVM(Model-View-ViewModel)的核心思想是将业务逻辑从 ViewController 中剥离,作为 View-Model:

iOS 程序架构_第1张图片

数据流

iOS 程序架构_第2张图片

iOS MVVM 应用层架构

View-Model 不应该包含跟视图有关的逻辑,即不应该 import UIKit。

iOS 程序架构_第3张图片

工程目录结构

自己根据理解设计的工程目录:

  • Project
    • View
      • Common
      • ViewFeature1 // 对应交互设计页面
        • ViewX
        • ViewY
        • ViewControllerA
      • ViewFeature2
        • ViewZ
        • ViewControllerB
    • View-Model
      • UseCaseGroup1 // 对应一系列相关的产品用例
      • UseCaseGroup2
    • Model
      • EntityGroup1 // 对应一系列相关的系统实体
      • EntityGroup2
    • Vender
    • ...

2. Viper

3. Model 解决方案

  • Core Data Managed Object
  • Mantle

4. 参考资料

MVVM

  • 用Model-View-ViewModel构建iOS App
  • MVVM 介绍
  • ReactiveCocoa 和 MVVM 入门

你可能感兴趣的:(iOS 程序架构)