iOS MVC和MVVM设计模式的理解

2020-08-26  本文已影响0人  疯狂1024

【MVC设计模式】

MVC是一种架构模式,M表示MOdel,V表示视图View,C表示控制器Controller:

mvc

Model负责存储、定义、操作数据;

View用来展示书给用户,和用户进行操作交互;

Controller是Model和View的协调者,Controller把Model中的数据拿过来给View用。Controller可以直接与Model和View进行通信,而View不能和Controller直接通信。View与Controller通信需要利用代理协议的方式,当有数据更新时,Model也要与Controller进行通信,这个时候就要用Notification和KVO,这个方式就像一个广播一样,Model发信号,Controller设置监听接受信号,当有数据更新时就发信号给Controller,Model和View不能直接进行通信,这样会违背MVC设计模式。

【MVVM设计模式】

MVVM就是在MVC的基础上分离出业务处理的逻辑到ViewModel层,即:

mvvm

Model层:请求的原始数据

View层:视图展示,他的任务就是从ViewModel层获取数据,然后显示。

ViewModel层:负责业务处理和数据转化,就是View和Model层的粘合剂,他是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他各种各样的代码的极好的地方。说白了,就是把原来ViewController层的业务逻辑和页面逻辑等剥离出来放到ViewModel层。

上一篇下一篇

猜你喜欢

热点阅读