iOS_2022_设计模式

iOS MVC\MVP\MVVM框架模式与Demo

MVC、MVP和MVVM之间的区别是什么?

iOS MVVM+RAC 从框架到实战

iOS设计模式和架构(1)-MVC、MVP、MVVM、VIPER

一、摘要

 

 

 

 

 MVVM:View和ViewModel直接双向绑定

 

二、MVC、MVP、MVVM介绍

  •  MVC

 ● Model: 模型(用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法)

 ● View: 视图(渲染页面)

 ● Controller: 控制器(M和V之间的连接器,用于控制应用程序的流程,及页面的业务逻辑)

数据模型与业务和展示逻辑解耦
用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View):

 

  • MVP

M、V、P之间双向通信

View 与 Model 不通信,都通过 Presenter 传递。Presenter完全把Model和View进行了分离,主要的程序逻辑在Presenter里实现。

Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View时候可以保持Presenter的不变,这样就可以重用。

 

  • MVVM

View与ViewModel双向绑定

总结整理下一个快速开发MVVM框架(抛砖引玉) 

 

 

 

 

三、实际应用

  • MVP

IOS (oc) 浅谈MVP在ios项目中的使用以及Demo

P中可以:弹框、跳转页面等

业务层可以仿照UserLogin

 

  • MVVM

MVVM-RAC-Demo

LPDMvvmKit

//ViewController 与 ViewModel映射的类

LPDViewControllerFactory 

  //将ViewController和ViewModel匹配

  + (void)setViewController:(NSString *)viewControllerClass forViewModel:(NSString *)viewModelClass;

  //获取ViewController

  + (UIViewController *)viewControllerForViewModel:(id)viewModel;

 

 

 

 

posted @ 2022-06-15 17:17  素染年华  阅读(35)  评论(0编辑  收藏  举报