MVC和MVVM是一种设计模式
MVC:
1、M是Model,用于存储、定义、操作数据;
2、V是View,用于展示数据给用户,并和用户直接进行交互的界面;
3、C是Controller,是Model和View的协调者,Controller把Model中的数据拿来给View用。
4、Controller可以直接和Model以及View进行交互;Model可以通过KVO(较常用些)或通知来和Controller进行交互;View可以通过代理协议来和Controller进行交互;Model不能和View进行交互。
MVVM:
1、model view view-model的简写
2、MVVM是MVC的增强版,是对MVC的优化
3、MVC中Controller承担了太多的代码,包含着我们的视图处理逻辑和业务逻辑(数据处理的逻辑),在MVVM中,我们将视图处理逻辑从Controller中剥离出来交给View来处理,而剩下的业务逻辑就是view-model了。