RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MVC、MVP與MVVM的異同介紹

Dbwd_Imgtec ? 來(lái)源:未知 ? 作者:李倩 ? 2018-06-22 15:34 ? 次閱讀

No1:

Model一般用來(lái)保持程序的數(shù)據(jù)狀態(tài),比如數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)請(qǐng)求等

No2:

Android開(kāi)發(fā)中應(yīng)用到MVC的地方:比如ListView與Adapter,如果把ListView看作View層,那么Adapter則可以看作Controller,獲取ListView展示數(shù)據(jù)的相關(guān)實(shí)現(xiàn)類(lèi)則看作Model。

如果把思維放大,也可以把Android中的xml布局/View類(lèi)看作View層,而把Activity看作是Controller層,Model層則由相關(guān)的數(shù)據(jù)操作類(lèi)承擔(dān)。

No3:

MVP模式可以分離顯示層和邏輯層,它們之間通過(guò)接口進(jìn)行通信,降低耦合。

No4:

NavigationView就是MVP設(shè)計(jì)模式的一個(gè)真實(shí)案例,Toolbar的菜單解析也遵循MVP設(shè)計(jì)模式。

No5:

MVVM:Model-View-ViewModel

View和ViewModel內(nèi)部通過(guò)一個(gè)Binder進(jìn)行事件交互,該Binder通過(guò)雙向綁定將View與ViewModel中與對(duì)于數(shù)據(jù)操作的部分鏈接,當(dāng)對(duì)應(yīng)數(shù)據(jù)由更新時(shí)同樣會(huì)自動(dòng)地反饋到View層上。

No6:

要想在Android中快速地應(yīng)用MVVM,最好的方式是使用谷歌官方提供的DataBinding來(lái)作為雙向綁定的工具,其本質(zhì)是幫助我們實(shí)現(xiàn)MVVM中Binder的功能。

在Module的build.gradle文件里配置

dataBinding{ enabled = true }

No7:

MVC、MVP與MVVM的異同

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3935

    瀏覽量

    127339
  • 數(shù)據(jù)存儲(chǔ)

    關(guān)注

    5

    文章

    970

    瀏覽量

    50894
  • MVC
    MVC
    +關(guān)注

    關(guān)注

    0

    文章

    73

    瀏覽量

    13852

原文標(biāo)題:Android開(kāi)發(fā)——MVC、MVP和MVVM的異同

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MVC框架

    MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫(xiě),一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織
    發(fā)表于 06-22 20:30

    MVC架構(gòu)你知道多少

    一、MVC 介紹MVC 是Model-View-Controller 的縮寫(xiě),表示模型-視圖-控制器的軟件設(shè)計(jì)模式,最早由Xerox PARC 在二十世紀(jì)八十年代為編程語(yǔ)言Smalltalk 發(fā)明
    發(fā)表于 09-17 09:05

    AWTK-MVVM是什么?其功能有哪些

    AWTK-MVVM是一套為AWTK用C語(yǔ)言開(kāi)發(fā),并支持各種腳本語(yǔ)言的MVVM框架,實(shí)現(xiàn)了數(shù)據(jù)綁定、命令綁定和窗口導(dǎo)航等基本功能,使用AWTK-MVVM開(kāi)發(fā)應(yīng)用程序,無(wú)需學(xué)習(xí)AWTK本身的API,只需
    發(fā)表于 12-15 06:07

    MVC框架實(shí)例—Spring MVC配置

    本文旨在讓您在使用Spring MVC框架配置完成日常工作的時(shí)候更加輕松。根據(jù)Spring MVC框架配置,為基于本技術(shù)開(kāi)發(fā)的項(xiàng)目提供一系列的解決方案。
    發(fā)表于 12-14 17:37 ?3173次閱讀

    iOS中怎樣用代碼實(shí)現(xiàn)mvvm的記錄

    卷首 最近新工作中用到的RAC+MVVM的開(kāi)發(fā)模式,由于之前都是用MVC,從自己的菜雞水平感覺(jué)這兩種設(shè)計(jì)模式在思想上還是有些微區(qū)別的,然后自己也是看了挺多關(guān)于這兩個(gè)模式異同與使用利弊的文章,但是說(shuō)
    發(fā)表于 09-25 11:19 ?0次下載
    iOS中怎樣用代碼實(shí)現(xiàn)<b class='flag-5'>mvvm</b>的記錄

    前端渲染引擎的優(yōu)勢(shì)分析

    渲染有很多框架,而且形式和內(nèi)容在不斷發(fā)生變化。這些演變的背后是設(shè)計(jì)模式的變化,而歸根到底是功能劃分邏輯的演變:MVCMVPMVVM(忽略最早混在一起的寫(xiě)法,那不稱(chēng)為模式)。近幾年興起的React、Vue、Angular等框架
    發(fā)表于 09-30 13:14 ?0次下載
    前端渲染引擎的優(yōu)勢(shì)分析

    iOS應(yīng)用層架構(gòu)的定義及CDD詳解

    從2010年開(kāi)始接觸iOS開(kāi)發(fā)到現(xiàn)在,折騰過(guò)不少App的架構(gòu)。從MVCMVVM,VIPER,MVP,以及最新的ReactiveCocoa都做過(guò)實(shí)戰(zhàn)嘗試,還有其他變種,諸如猿題庫(kù)iOS客戶(hù)端架構(gòu)
    發(fā)表于 10-12 16:05 ?0次下載
    iOS應(yīng)用層架構(gòu)的定義及CDD詳解

    spring mvc框架介紹

    Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring 框架提供了構(gòu)建 Web 應(yīng)用程序的全功能 MVC 模塊
    發(fā)表于 11-17 16:28 ?2343次閱讀
    spring <b class='flag-5'>mvc</b>框架<b class='flag-5'>介紹</b>

    什么是android mvp模式,android mvp模式有什么弊端

    關(guān)于Android程序的構(gòu)架,當(dāng)前最流行的模式即為MVP模式, Google官方提供了Sample代碼來(lái)展示這種模式的用法。MVP模式 概念之前有一個(gè)MVC模式; Model-View-Controller. View持有Con
    發(fā)表于 12-21 10:55 ?9327次閱讀
    什么是android <b class='flag-5'>mvp</b>模式,android <b class='flag-5'>mvp</b>模式有什么弊端

    AWTK-MVVM C語(yǔ)言MVVM框架

    ./oschina_soft/gitee-awtk-mvvm.zip
    發(fā)表于 06-21 11:33 ?2次下載
    AWTK-<b class='flag-5'>MVVM</b> C語(yǔ)言<b class='flag-5'>MVVM</b>框架

    什么是架構(gòu)及架構(gòu)的本質(zhì)?

    框架是組件實(shí)現(xiàn)的規(guī)范,例如:MVC、MVPMVVM等,是提供基礎(chǔ)功能的產(chǎn)品,例如開(kāi)源框架:Ruby on Rails、Spring、Laravel、Django等,這是可以拿來(lái)直接使用或者在此基礎(chǔ)上二次開(kāi)發(fā)。
    的頭像 發(fā)表于 01-05 15:01 ?1234次閱讀

    MVVM是什么?

    MVVM是Model-View-ViewModel的簡(jiǎn)寫(xiě),它是一種極度優(yōu)秀的設(shè)計(jì)模式,也是MVC的增強(qiáng)版
    的頭像 發(fā)表于 02-07 14:32 ?2214次閱讀
    <b class='flag-5'>MVVM</b>是什么?

    Android架構(gòu)模式飛速演進(jìn) 到底哪一個(gè)才是自己最需要的?

    不得不感嘆,近些年android的架構(gòu)演進(jìn)速度真的是飛快,拿筆者工作這幾年接觸的架構(gòu)來(lái)說(shuō),就已經(jīng)有了MVCMVP、MVVM。
    的頭像 發(fā)表于 08-02 10:23 ?1004次閱讀
    Android架構(gòu)模式飛速演進(jìn) 到底哪一個(gè)才是自己最需要的?

    使用MVVM框架實(shí)現(xiàn)一個(gè)簡(jiǎn)單加法器

    使用MVVM框架來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單加法器。最終效果如下,點(diǎn)擊按鈕可以對(duì)上面兩個(gè)文本框中的數(shù)字進(jìn)行相加得出結(jié)果顯示在第三個(gè)文本框中。重點(diǎn)在于看mvvm框架下程序該怎么寫(xiě)。使用CommunityToolkit.Mvvm框架,通過(guò)nuge
    的頭像 發(fā)表于 10-24 14:23 ?814次閱讀
    使用<b class='flag-5'>MVVM</b>框架實(shí)現(xiàn)一個(gè)簡(jiǎn)單加法器

    Spring MVC的工作原理

    組件,包括前端控制器、處理器映射器、處理器適配器、視圖解析器和視圖渲染器等。在本文中,我們將詳細(xì)介紹Spring MVC框架的工作原理。 首先,Spring MVC采用了前端控制器模式(Front
    的頭像 發(fā)表于 12-03 11:49 ?771次閱讀
    RM新时代网站-首页