第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

MVC和MVVM有什么區(qū)別?

MVC和MVVM有什么區(qū)別?

MVC和MVVM有什么區(qū)別?標(biāo)準(zhǔn)的“模型視圖控制器”模式與Microsoft的模型/視圖/ ViewModel模式之間是否存在差異?
查看完整描述

3 回答

?
白板的微信

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊

我認(rèn)為理解這些首字母縮略詞的最簡(jiǎn)單方法是暫時(shí)忘掉它們。相反,考慮一下它們所源自的軟件。它實(shí)際上歸結(jié)為早期網(wǎng)絡(luò)和桌面之間的差異。

第一個(gè)首字母縮寫(xiě)詞MVC起源于網(wǎng)絡(luò)。(是的,它可能曾經(jīng)存在過(guò),但網(wǎng)絡(luò)是如何向大量的Web開(kāi)發(fā)人員推廣的。)想想數(shù)據(jù)庫(kù),HTML頁(yè)面和代碼。讓我們稍微改進(jìn)一下以獲得MVC:對(duì)于?database?,讓我們假設(shè)數(shù)據(jù)庫(kù)加接口代碼。對(duì)于?HTML pages?,我們假設(shè)HTML模板和模板處理代碼。對(duì)于?code inbetween?,讓我們假設(shè)代碼將用戶(hù)點(diǎn)擊映射到可能影響數(shù)據(jù)庫(kù)的操作,肯定會(huì)導(dǎo)致顯示另一個(gè)視圖。就是這樣,至少為了這個(gè)比較的目的。

讓我們保留這個(gè)網(wǎng)絡(luò)內(nèi)容的一個(gè)特征,不像現(xiàn)在這樣,但是十年前它存在,當(dāng)時(shí)JavaScript是一個(gè)卑微,卑鄙的煩惱,真正的程序員很好地避開(kāi)了:HTML頁(yè)面本質(zhì)上是愚蠢和被動(dòng)的。瀏覽器是瘦客戶(hù)端,或者如果你愿意的話(huà),是一個(gè)糟糕的客戶(hù)端。瀏覽器中沒(méi)有智能。整頁(yè)重新加載規(guī)則。每次都會(huì)重新生成?view?。

讓我們記住,這種網(wǎng)絡(luò)方式雖然風(fēng)靡一時(shí),但與桌面相比卻是非常落后的。如果您愿意,桌面應(yīng)用程序是胖客戶(hù)端或富客戶(hù)端。(甚至像Microsoft Word這樣的程序也可以被認(rèn)為是某種客戶(hù)端,文檔的客戶(hù)端。)他們是充滿(mǎn)智慧的客戶(hù),充滿(mǎn)了關(guān)于他們數(shù)據(jù)的知識(shí)。他們是有狀態(tài)的。它們緩存了他們?cè)趦?nèi)存中處理的數(shù)據(jù)。沒(méi)有這樣的廢話(huà)作為整頁(yè)重新加載。

這種豐富的桌面方式可能是第二個(gè)縮寫(xiě)詞起源于MVVM的地方。不要被字母所愚弄,因?yàn)镃的遺漏仍然存在。他們需要。什么都沒(méi)有被刪除。我們只添加一件事:有狀態(tài),緩存在客戶(hù)端上的數(shù)據(jù)(以及處理該數(shù)據(jù)的智能)。該數(shù)據(jù),實(shí)際上是客戶(hù)端上的緩存,現(xiàn)在稱(chēng)為“ViewModel”。它允許豐富的交互性。就是這樣。

  • MVC =模型,控制器,視圖=基本上是單向通信=差的交互性

  • MVVM =模型,控制器,緩存,視圖=雙向通信=豐富的交互性

我們可以看到,使用Flash,Silverlight,以及 - 最重要的是 - JavaScript,網(wǎng)絡(luò)已經(jīng)接受了MVVM。瀏覽器不能再被合法地稱(chēng)為瘦客戶(hù)端??纯此麄兊目删幊绦浴?纯此麄兊挠洃浵?。查看現(xiàn)代網(wǎng)頁(yè)上的所有Javascript交互性。

就個(gè)人而言,我發(fā)現(xiàn)這個(gè)理論和首字母縮略詞業(yè)務(wù)通過(guò)查看它在具體現(xiàn)實(shí)中所指的內(nèi)容更容易理解。抽象概念是有用的,特別是在具體問(wèn)題上展示時(shí),所以理解可能會(huì)完整。


查看完整回答
反對(duì) 回復(fù) 2019-07-25
?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

MVVM 模型 - 視圖ViewModel類(lèi)似于MVC,模型 - 視圖控制器

控制器將替換為ViewModel。ViewModel位于UI層下方。ViewModel公開(kāi)視圖所需的數(shù)據(jù)和命令對(duì)象。您可以將此視為一個(gè)容器對(duì)象,該視圖用于獲取其數(shù)據(jù)和操作。ViewModel從模型中提取數(shù)據(jù)。

Russel East做了一個(gè)博客,詳細(xì)討論了 為什么MVVM與MVC不同


查看完整回答
反對(duì) 回復(fù) 2019-07-25
  • 3 回答
  • 0 關(guān)注
  • 1564 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)