MVPD - iOS版本的MVP


MIT
iOS
Objective-C

软件简介

参考 Android 的 MVP 思想设计了 iOS 版本的 MVPD,旨在给 UIViewController 减负

  • View 对应于UIViewController,负责View的绘制以及与用户交互

  • Model 依然是业务逻辑和实体模型

  • Presenter 负责完成View于Model间的交互

  • Delegate 链接 View 与 Presenter

    .
    ├── login =>组件
    │   ├── delegate =>组件代理
    │   │   ├── LoginViewControllerDelegate.h => view代理,完成view的数据桥接
    │   │   └── LoginViewControllerPresenterDelegate.h =>Presenter代理,链接View
    │   ├── model 组件 Model
    │   │   ├── User.h
    │   │   └── User.m
    │   ├── presenter =>组件的Presenter
    │   │   ├── LoginViewControllerPresenter.h =>Presenter实现
    │   │   └── LoginViewControllerPresenter.m
    │   └── view
    │       ├── LoginViewController.h =>运行时链接Presenter并借助Presenter完成业务
    │       └── LoginViewController.m
    …其他组件
    └── main
        ├── delegate
        │   ├── MainViewControllerDelegate.h
        │   └── MainViewControllerPresenterDelegate.h
        ├── model
        │   ├── Item.h
        │   └── Item.m
        ├── presenter
        │   ├── MainViewControllerPresenter.h
        │   └── MainViewControllerPresenter.m
        └── view
            ├── ItemTableViewCell.h
            ├── ItemTableViewCell.m
            ├── MainViewController.h
            └── MainViewController.m