MVC和MVVM是一種設(shè)計模式
MVC:
1、M是Model,用于存儲、定義、操作數(shù)據(jù);
2、V是View,用于展示數(shù)據(jù)給用戶,并和用戶直接進行交互的界面;
3、C是Controller,是Model和View的協(xié)調(diào)者,Controller把Model中的數(shù)據(jù)拿來給View用。
4、Controller可以直接和Model以及View進行交互;Model可以通過KVO(較常用些)或通知來和Controller進行交互;View可以通過代理協(xié)議來和Controller進行交互;Model不能和View進行交互。
MVVM:
1、model view view-model的簡寫
2、MVVM是MVC的增強版,是對MVC的優(yōu)化
3、MVC中Controller承擔(dān)了太多的代碼,包含著我們的視圖處理邏輯和業(yè)務(wù)邏輯(數(shù)據(jù)處理的邏輯),在MVVM中,我們將視圖處理邏輯從Controller中剝離出來交給View來處理,而剩下的業(yè)務(wù)邏輯就是view-model了。