MVC與MVVM

一、MVC

M:model,數(shù)據(jù)模型;
V:view,視圖,展示數(shù)據(jù);
C:controller,控制器,業(yè)務(wù)邏輯,是view和model的溝通者;
MVC就是把代碼分成三塊,第一塊V告訴你的代碼是在哪一塊;第二塊M告訴你的數(shù)據(jù)有哪些操作;第三塊C用來控制其他的所有代碼。
MVC就是一個(gè)代碼組織形式,它不是框架也不是技術(shù),就是一種組織代碼的思想,我們要做的就是把V和M傳給C,C負(fù)責(zé)初始化model,對view進(jìn)行各種操作


mvc.png

如上圖,MVC按功能劃分代碼,用戶點(diǎn)擊頁面上的view,controller監(jiān)聽view,一旦view被點(diǎn)擊,它就發(fā)通知給controller,controller去調(diào)用model里的數(shù)據(jù),model向server請求數(shù)據(jù),server響應(yīng)model,model向controller返回?cái)?shù)據(jù),controller作出相應(yīng)的操作,呈現(xiàn)新的頁面給用戶,使用MVC使得代碼職責(zé)分明,結(jié)構(gòu)清晰,看起來更簡單。
但是,MVC的通信是單向的;想要雙向通信,就用MVVM。

二、MVVM

M:Model,數(shù)據(jù)管理;
V:View,UI布局,展示數(shù)據(jù);
VM:ViewModel,用來同步view和model;
ViewModel通過雙向數(shù)據(jù)綁定把view和model連接起來,讓view和model的同步工作完全自動(dòng),不需要人為干涉,開發(fā)者只需關(guān)注業(yè)務(wù)邏輯即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容