ea设计 mvc模式_如何理解MVC和MVVM设计模式

理解:MVC模式考虑三种对象:模型对象(M)、视图对象(V)和控制器对象(C)。模型对象负责应用程序的数据和定义操作数据的逻辑;视图对象知道如何显示应用程序的模型数据;控制器对象是M与V之间的协调者.

MVC设计模式

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

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设计模式

ViewModel层,就是View和Model层的粘合剂,他是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他各种各样的代码的极好的地方。

说白了,就是把原来ViewController层的业务逻辑和页面逻辑等剥离出来放到ViewModel层。

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

文/巴糖(简书作者)

原文链接:http://www.jianshu.com/p/001c65dc64ea

著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值