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

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

請問在MVVM中如何連接數(shù)據(jù)庫并防止沖突?

請問在MVVM中如何連接數(shù)據(jù)庫并防止沖突?

喵喔喔 2019-08-16 15:09:04
MVVM如何連接數(shù)據(jù)庫并防止沖突
查看完整描述

3 回答

?
絕地?zé)o雙

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

MVC、MVP、MVVM這些模式是為了解決開發(fā)過程中的實(shí)際問題而提出來的,目前作為主流的幾種架構(gòu)模式而被廣泛使用。一、MVC(Model-View-Controller)MVC是比較直觀的架構(gòu)模式,用戶操作->View(負(fù)責(zé)接收用戶的輸入操作)->Controller(業(yè)務(wù)邏輯處理)->Model(數(shù)據(jù)持久化)->View(將結(jié)果反饋給View)。MVC使用非常廣泛,比如JavaEE中的SSH框架(Struts/Spring/Hibernate),Struts(View,STL)-Spring(Controller,Ioc、SpringMVC)-Hibernate(Model,ORM)以及ASP.NET中的ASP.NETMVC框架,xxx.cshtml-xxxcontroller-xxxmodel。(實(shí)際上后端開發(fā)過程中是v-c-m-c-v,v和m并沒有關(guān)系,下圖僅代表經(jīng)典的mvc模型)二、MVP(Model-View-Presenter)MVP是把MVC中的Controller換成了Presenter(呈現(xiàn)),目的就是為了完全切斷View跟Model之間的聯(lián)系,由Presenter充當(dāng)橋梁,做到View-Model之間通信的完全隔離。.NET程序員熟知的ASP.NETwebform、winform基于事件驅(qū)動(dòng)的開發(fā)技術(shù)就是使用的MVP模式??丶M成的頁面充當(dāng)View,實(shí)體數(shù)據(jù)庫操作充當(dāng)Model,而View和Model之間的控件數(shù)據(jù)綁定操作則屬于Presenter??丶录奶幚砜梢酝ㄟ^自定義的IView接口實(shí)現(xiàn),而View和IView都將對Presenter負(fù)責(zé)。三、MVVM(Model-View-ViewModel)如果說MVP是對MVC的進(jìn)一步改進(jìn),那么MVVM則是思想的完全變革。它是將“數(shù)據(jù)模型數(shù)據(jù)雙向綁定”的思想作為核心,因此在View和Model之間沒有聯(lián)系,通過ViewModel進(jìn)行交互,而且Model和ViewModel之間的交互是雙向的,因此視圖的數(shù)據(jù)的變化會(huì)同時(shí)修改數(shù)據(jù)源,而數(shù)據(jù)源數(shù)據(jù)的變化也會(huì)立即反應(yīng)到View上。這方面典型的應(yīng)用有.NET的WPF,js框架Knockout、AngularJS等。參考資料:





查看完整回答
反對 回復(fù) 2019-08-24
?
隔江千里

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

我們在項(xiàng)目中需要定義Model和ViewModel。 Model指的是數(shù)據(jù)實(shí)體,它負(fù)責(zé)存儲數(shù)據(jù),并且提供了與外部資源(例如數(shù)據(jù)庫或者遠(yuǎn)程服務(wù))的交互。 ViewModel是指View與Model之間的一個(gè)橋梁,通常情況下,View是指界面

查看完整回答
反對 回復(fù) 2019-08-24
?
收到一只叮咚

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

在MVC里,View是可以直接訪問Model的!從而,View里會(huì)包含Model信息,不可避免的還要包括一些業(yè)務(wù)邏輯。MVC模型關(guān)注的是Model的不變,所以,在MVC模型里,Model不依賴于View,但是View是依賴于Model的。不僅如此,因?yàn)橛幸恍I(yè)務(wù)邏輯在View里實(shí)現(xiàn)了,導(dǎo)致要更改View也是比較困難的,至少那些業(yè)務(wù)邏輯是無法重用的。MVVM在概念上是真正將頁面與數(shù)據(jù)邏輯分離的模式,它把數(shù)據(jù)綁定工作放到一個(gè)JS里去實(shí)現(xiàn),而這個(gè)JS文件的主要功能是完成數(shù)據(jù)的綁定,即把model綁定到UI的元素上。有人做過測試:使用Angular(MVVM)代替Backbone(MVC)來開發(fā),代碼可以減少一半。此外,MVVM另一個(gè)重要特性,雙向綁定。它更方便你同時(shí)維護(hù)頁面上都依賴于某個(gè)字段的N個(gè)區(qū)域,而不用手動(dòng)更新它們。



查看完整回答
反對 回復(fù) 2019-08-24
  • 3 回答
  • 0 關(guān)注
  • 527 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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