国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android安卓架構(gòu)MVC、MVP、MVVM模式的概念與區(qū)別

這篇具有很好參考價(jià)值的文章主要介紹了Android安卓架構(gòu)MVC、MVP、MVVM模式的概念與區(qū)別。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

MVC框架

MVP框架

MVVM框架

MVVM與MVP區(qū)別

MVVM與MVC區(qū)別

MVC、MVP、MVVM模式哪個(gè)要好一些


MVC(Model-View-Controller)、MVP(Model-View-Presenter)、MVVM(Model-View-ViewModel)是三種常見的軟件架構(gòu)模式,它們的目的都是將應(yīng)用程序的不同部分分離開來,以提高代碼的可維護(hù)性、可擴(kuò)展性和可測試性。

MVC框架

MVC(Model-View-Controller)是一種軟件架構(gòu)模式,它將應(yīng)用程序分為三個(gè)主要組件:模型(Model)、視圖(View)和控制器(Controller)。

下面詳細(xì)介紹MVC框架的各個(gè)組成部分及其作用:

MVC框架模式圖:

Android安卓架構(gòu)MVC、MVP、MVVM模式的概念與區(qū)別,Android?,android,架構(gòu),mvc

  1. 模型(Model)

    • 在 Android 中,模型通常代表應(yīng)用程序的數(shù)據(jù)和業(yè)務(wù)邏輯。這可能包括從網(wǎng)絡(luò)加載的數(shù)據(jù)、數(shù)據(jù)庫中的數(shù)據(jù)或應(yīng)用程序的狀態(tài)信息等。模型通常由 Java 類或 Kotlin 類表示,并包含了獲取、存儲(chǔ)和操作數(shù)據(jù)的方法。模型通常與應(yīng)用程序的后端服務(wù)進(jìn)行交互,如 RESTful API 或者數(shù)據(jù)庫。
  2. 視圖(View)

    • 視圖代表用戶界面的可視化部分。在 Android 中,視圖通常由 XML 布局文件定義,可以包括各種 UI 組件,如按鈕、文本框、列表視圖等。視圖的主要責(zé)任是將模型中的數(shù)據(jù)呈現(xiàn)給用戶,并將用戶的操作轉(zhuǎn)發(fā)給控制器進(jìn)行處理。視圖應(yīng)該盡可能被 passives,并且只負(fù)責(zé)顯示數(shù)據(jù),不包含任何業(yè)務(wù)邏輯。
  3. 控制器(Controller)

    • 在 Android 中,控制器通常由 Activity 或 Fragment 扮演角色。它們負(fù)責(zé)處理用戶的輸入事件,從視圖中讀取用戶操作,并相應(yīng)地更新模型或視圖。控制器還可以負(fù)責(zé)協(xié)調(diào)不同組件之間的交互,例如在模型更新后更新視圖。

在 Android 中實(shí)現(xiàn) MVC 框架通常遵循以下步驟:

  1. 創(chuàng)建模型:創(chuàng)建用于管理數(shù)據(jù)和業(yè)務(wù)邏輯的模型類。這可能包括定義數(shù)據(jù)結(jié)構(gòu)、訪問數(shù)據(jù)庫或網(wǎng)絡(luò)服務(wù)等。

  2. 創(chuàng)建視圖:使用 XML 布局文件創(chuàng)建用戶界面的視圖部分。這些視圖文件定義了應(yīng)用程序的用戶界面元素和布局。

  3. 創(chuàng)建控制器:創(chuàng)建 Activity 或 Fragment 類作為控制器,它們負(fù)責(zé)處理用戶的輸入和更新模型或視圖??刂破魍ǔ?huì)與模型類和視圖文件進(jìn)行交互,以實(shí)現(xiàn)業(yè)務(wù)邏輯和用戶界面的更新。

  4. 連接模型、視圖和控制器:在控制器中初始化模型,并將模型的數(shù)據(jù)傳遞給視圖進(jìn)行顯示??刂破鬟€應(yīng)該監(jiān)聽視圖的用戶輸入事件,并根據(jù)用戶的操作更新模型或視圖。

  5. 維護(hù)代碼分離和組織:保持模型、視圖和控制器之間的分離,并遵循單一責(zé)任原則。這有助于代碼的可維護(hù)性和可測試性,使得在應(yīng)用程序變得復(fù)雜時(shí)更容易管理和擴(kuò)展。

盡管 Android MVC 框架在一定程度上可以幫助組織和管理應(yīng)用程序的代碼,但它也有一些限制。例如,隨著應(yīng)用程序的復(fù)雜度增加,控制器可能變得過于臃腫,并且視圖與模型之間的耦合度可能會(huì)增加。因此,一些開發(fā)者可能會(huì)選擇更現(xiàn)代的架構(gòu)模式,如 MVP(Model-View-Presenter)或 MVVM(Model-View-ViewModel)。

MVP框架

在 Android 開發(fā)中,MVP(Model-View-Presenter)是一種常用的架構(gòu)模式,它是基于MVC模式的改進(jìn),旨在進(jìn)一步分離應(yīng)用程序的各個(gè)組件,提高代碼的可測試性和可維護(hù)性。

下面是關(guān)于 Android 中 MVP 框架的詳細(xì)介紹:

MVP框架模式圖:

Android安卓架構(gòu)MVC、MVP、MVVM模式的概念與區(qū)別,Android?,android,架構(gòu),mvc

模型(Model):

  • 模型在 MVP 中的作用與在 MVC 中類似,代表應(yīng)用程序的數(shù)據(jù)和業(yè)務(wù)邏輯。模型負(fù)責(zé)從數(shù)據(jù)源(如數(shù)據(jù)庫、網(wǎng)絡(luò)服務(wù)等)獲取數(shù)據(jù),并將數(shù)據(jù)返回給 Presenter。模型類通常是普通的 Java 類或 Kotlin 類,不直接依賴于 Android 框架。

視圖(View):

  • 視圖是用戶界面的可視化表示,負(fù)責(zé)向用戶顯示數(shù)據(jù)并接收用戶的操作。在 MVP 中,視圖通常由 Activity 或 Fragment 實(shí)現(xiàn),但它們的角色僅限于負(fù)責(zé)視圖的渲染和用戶交互的響應(yīng),并不處理任何業(yè)務(wù)邏輯。視圖通過接口與 Presenter 交互,Presenter 使用視圖接口來更新視圖的內(nèi)容。

Presenter(Presenter):

  • Presenter 是 MVP 中最關(guān)鍵的部分,它充當(dāng)了模型和視圖之間的中間人,負(fù)責(zé)處理業(yè)務(wù)邏輯和協(xié)調(diào)視圖與模型之間的交互。Presenter 從模型中獲取數(shù)據(jù),并將數(shù)據(jù)格式化后傳遞給視圖進(jìn)行顯示。Presenter 還接收視圖的用戶輸入事件,根據(jù)輸入更新模型并更新視圖的狀態(tài)。Presenter 與視圖之間通過接口進(jìn)行通信,這樣做的目的是將視圖與 Presenter 解耦,使得視圖可以更加獨(dú)立地進(jìn)行單元測試。

在 Android 中實(shí)現(xiàn) MVP 模式通常遵循以下步驟:

  • 定義視圖接口:創(chuàng)建一個(gè)視圖接口,其中包含了視圖所需的方法,如顯示數(shù)據(jù)、顯示加載中狀態(tài)、顯示錯(cuò)誤信息等。這個(gè)接口通常在 Activity 或 Fragment 中定義。
  • 創(chuàng)建 Presenter:創(chuàng)建一個(gè) Presenter 類,實(shí)現(xiàn)與視圖接口相對應(yīng)的方法,并在這些方法中實(shí)現(xiàn)業(yè)務(wù)邏輯。Presenter 應(yīng)該持有一個(gè)對視圖接口的引用,以便與視圖進(jìn)行通信。
  • 創(chuàng)建模型:創(chuàng)建模型類,負(fù)責(zé)從數(shù)據(jù)源中獲取數(shù)據(jù),并將數(shù)據(jù)返回給 Presenter。模型應(yīng)該是獨(dú)立于 Android 框架的普通 Java 類或 Kotlin 類。
  • 連接視圖、Presenter 和模型:在視圖中創(chuàng)建 Presenter 的實(shí)例,并將自身作為視圖接口的實(shí)現(xiàn)傳遞給 Presenter。Presenter 同樣持有模型的實(shí)例,以便獲取數(shù)據(jù)并更新視圖。
  • 維護(hù)代碼分離和組織:保持視圖、Presenter 和模型之間的分離,遵循單一責(zé)任原則。這有助于代碼的可維護(hù)性和可測試性,使得在應(yīng)用程序變得復(fù)雜時(shí)更容易管理和擴(kuò)展。

MVP 框架的優(yōu)勢包括良好的代碼分離、可測試性和可維護(hù)性。由于 Presenter 與視圖之間的解耦,可以更容易地編寫單元測試,而不需要依賴于 Android 框架。此外,MVP 框架還提供了更清晰的分層結(jié)構(gòu),使得代碼更易于理解和維護(hù)。

總的來說,MVP 框架是 Android 開發(fā)中常用的架構(gòu)模式之一,特別適用于需要高度可測試性和可維護(hù)性的應(yīng)用程序。

MVVM框架

在 Android 開發(fā)中,MVVM(Model-View-ViewModel)是一種架構(gòu)模式,旨在進(jìn)一步分離應(yīng)用程序的各個(gè)組件,使得代碼更加模塊化、可測試和可維護(hù)。MVVM 模式在 Android 開發(fā)中通常與 Data Binding 和 LiveData 等 Jetpack 組件一起使用,以實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的 UI 開發(fā)。

以下是關(guān)于 Android 中 MVVM 框架的詳細(xì)介紹:

MVVM框架模式圖:

Android安卓架構(gòu)MVC、MVP、MVVM模式的概念與區(qū)別,Android?,android,架構(gòu),mvc

Android安卓架構(gòu)MVC、MVP、MVVM模式的概念與區(qū)別,Android?,android,架構(gòu),mvc

模型(Model):

  • 模型在 MVVM 中的作用與在 MVC 或 MVP 中相似,代表應(yīng)用程序的數(shù)據(jù)和業(yè)務(wù)邏輯。模型負(fù)責(zé)從數(shù)據(jù)源(如數(shù)據(jù)庫、網(wǎng)絡(luò)服務(wù)等)獲取數(shù)據(jù),并將數(shù)據(jù)提供給 ViewModel。模型通常是普通的 Java 類或 Kotlin 類,不依賴于 Android 框架。

視圖(View):

  • 視圖是用戶界面的可視化表示,負(fù)責(zé)向用戶顯示數(shù)據(jù)并接收用戶的操作。在 MVVM 中,視圖通常是 Activity 或 Fragment,但它們不包含任何業(yè)務(wù)邏輯。視圖只負(fù)責(zé)展示數(shù)據(jù),不直接與模型交互。視圖通過數(shù)據(jù)綁定技術(shù)與 ViewModel 進(jìn)行綁定,當(dāng)數(shù)據(jù)發(fā)生變化時(shí)自動(dòng)更新界面。

視圖模型(ViewModel):

  • 視圖模型是 MVVM 中最關(guān)鍵的部分,它充當(dāng)了視圖和模型之間的中間人,負(fù)責(zé)管理視圖所需的數(shù)據(jù)和業(yè)務(wù)邏輯,并將這些數(shù)據(jù)和邏輯以適當(dāng)?shù)姆绞奖┞督o視圖。ViewModel 包含了視圖所需的各種狀態(tài)和操作方法,如數(shù)據(jù)加載狀態(tài)、數(shù)據(jù)列表等。ViewModel 通常包含 LiveData 或 ObservableField 等可觀察數(shù)據(jù)對象,以便實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)更新。

在 Android 中實(shí)現(xiàn) MVVM 模式通常遵循以下步驟:

  • 創(chuàng)建模型:創(chuàng)建模型類,負(fù)責(zé)從數(shù)據(jù)源中獲取數(shù)據(jù),并將數(shù)據(jù)提供給 ViewModel。模型類通常是普通的 Java 類或 Kotlin 類,不直接依賴于 Android 框架。
  • 創(chuàng)建視圖:創(chuàng)建 Activity 或 Fragment,作為用戶界面的可視化表示。視圖負(fù)責(zé)展示數(shù)據(jù),并與 ViewModel 進(jìn)行綁定,以實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的 UI 更新。在布局文件中使用 Data Binding 技術(shù)與 ViewModel 進(jìn)行綁定。
  • 創(chuàng)建視圖模型:創(chuàng)建 ViewModel 類,負(fù)責(zé)管理視圖所需的數(shù)據(jù)和業(yè)務(wù)邏輯。ViewModel 應(yīng)該持有對模型的引用,并暴露 LiveData 或 ObservableField 等可觀察數(shù)據(jù)對象,以便視圖可以觀察數(shù)據(jù)的變化并及時(shí)更新界面。
  • 連接視圖和視圖模型:在視圖中創(chuàng)建 ViewModel 的實(shí)例,并通過 ViewModelProviders 工具類獲取 ViewModel 的引用。在視圖中使用 Data Binding 技術(shù)將視圖與視圖模型進(jìn)行綁定,以實(shí)現(xiàn)數(shù)據(jù)的雙向綁定和自動(dòng)更新。
  • 維護(hù)代碼分離和組織:保持視圖、視圖模型和模型之間的分離,遵循單一責(zé)任原則。這有助于代碼的可維護(hù)性和可測試性,使得在應(yīng)用程序變得復(fù)雜時(shí)更容易管理和擴(kuò)展。

MVVM 框架的優(yōu)勢包括良好的代碼分離、可測試性和可維護(hù)性。由于視圖和視圖模型之間的雙向綁定,可以更容易地實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)的 UI 開發(fā),同時(shí)還能夠減少手動(dòng)更新界面的代碼量。此外,MVVM 框架還提供了更清晰的分層結(jié)構(gòu),使得代碼更易于理解和維護(hù)。

總的來說,MVVM 框架是 Android 開發(fā)中常用的架構(gòu)模式之一,特別適用于需要?jiǎng)討B(tài)更新用戶界面的應(yīng)用程序。配合 Jetpack 組件中的 Data Binding 和 LiveData,可以更加輕松地實(shí)現(xiàn) MVVM 架構(gòu),并構(gòu)建出具有高度可測試性和可維護(hù)性的 Android 應(yīng)用程序。

MVVM與MVP區(qū)別

MVVM(Model-View-ViewModel)和MVP(Model-View-Presenter)之間的主要區(qū)別在于視圖模型(ViewModel)與Presenter的角色和數(shù)據(jù)綁定機(jī)制。

角色命名:

  • 在 MVP 中,Presenter 充當(dāng)了視圖(View)和模型(Model)之間的中間人,負(fù)責(zé)處理用戶輸入、更新視圖和管理業(yè)務(wù)邏輯。
  • 在 MVVM 中,Presenter 被改名為 ViewModel。ViewModel 與 Presenter 有著相似的職責(zé),但它更加專注于為視圖提供所需的數(shù)據(jù)和操作,而不直接操作視圖。

數(shù)據(jù)綁定:

  • MVVM 模式引入了數(shù)據(jù)綁定機(jī)制,這是其與 MVP 的主要區(qū)別之一。數(shù)據(jù)綁定使得視圖和視圖模型之間的通信變得更加簡單和直接。當(dāng)視圖中的數(shù)據(jù)變化時(shí),自動(dòng)地更新到視圖模型中,反之亦然。這意味著開發(fā)者不需要手動(dòng)編寫代碼來處理視圖和視圖模型之間的數(shù)據(jù)交換,框架會(huì)自動(dòng)完成這些工作。
  • 在 MVP 中,通常需要手動(dòng)編寫代碼來處理視圖和 Presenter 之間的數(shù)據(jù)交換,例如通過接口來更新視圖并將用戶輸入傳遞給 Presenter 進(jìn)行處理。

依賴關(guān)系:

  • 在 MVP 中,視圖(View)和 Presenter 是相互依賴的,視圖持有對 Presenter 的引用,并且通過接口與 Presenter 進(jìn)行交互。
  • 在 MVVM 中,視圖(View)和 ViewModel 之間的依賴性相對較低。通常,視圖不直接持有對 ViewModel 的引用,而是通過數(shù)據(jù)綁定來實(shí)現(xiàn)視圖與 ViewModel 的交互。

測試性:

  • 由于 MVVM 中的視圖模型(ViewModel)更加專注于數(shù)據(jù)和業(yè)務(wù)邏輯,而且與視圖之間的耦合度較低,因此通常更易于進(jìn)行單元測試。
  • 在 MVP 中,Presenter 與視圖之間的交互較多,視圖和 Presenter 之間的耦合度較高,可能需要使用 Mock 對象等技術(shù)來進(jìn)行測試。

總的來說,MVVM 和 MVP 在核心概念上非常相似,但在數(shù)據(jù)綁定機(jī)制和視圖模型的角色定位上有所不同。MVVM 通過數(shù)據(jù)綁定機(jī)制簡化了視圖和視圖模型之間的通信,使得開發(fā)更加高效,而 MVP 則更加注重視圖和 Presenter 之間的交互。

MVVM與MVC區(qū)別

MVVM 實(shí)現(xiàn)了數(shù)據(jù)綁定機(jī)制,使得視圖和模型之間的數(shù)據(jù)同步更加簡單和自動(dòng)化。這種數(shù)據(jù)綁定機(jī)制確實(shí)是 MVVM 模式的一個(gè)顯著特征,而傳統(tǒng)的 MVC 模式通常不包括這樣的機(jī)制。

在 MVC 中,視圖(View)與控制器(Controller)之間是通過觸發(fā)事件、回調(diào)或其他手動(dòng)方式來進(jìn)行通信的。當(dāng)模型(Model)的數(shù)據(jù)發(fā)生變化時(shí),開發(fā)者通常需要手動(dòng)更新視圖以反映這些變化,這可能需要編寫大量的代碼來處理數(shù)據(jù)與視圖之間的同步。

而在 MVVM 中,視圖模型(ViewModel)作為視圖(View)和模型(Model)之間的中間人,負(fù)責(zé)管理視圖的狀態(tài)和行為,并且通過數(shù)據(jù)綁定機(jī)制與視圖進(jìn)行連接。當(dāng)模型中的數(shù)據(jù)發(fā)生變化時(shí),視圖模型會(huì)自動(dòng)更新,并且這些變化會(huì)自動(dòng)反映到與其綁定的視圖上,從而實(shí)現(xiàn)了數(shù)據(jù)與視圖之間的自動(dòng)同步。

這種數(shù)據(jù)綁定機(jī)制使得開發(fā)者不再需要手動(dòng)編寫大量的代碼來處理數(shù)據(jù)與視圖之間的同步,減少了重復(fù)代碼的編寫,提高了開發(fā)效率。同時(shí),也使得代碼更加清晰、簡潔,降低了維護(hù)成本。

因此,MVVM 相對于 MVC 來說,更加適用于需要大量交互和動(dòng)態(tài)更新的前端應(yīng)用程序,特別是在需要實(shí)現(xiàn)復(fù)雜的用戶界面時(shí),MVVM 的數(shù)據(jù)綁定機(jī)制可以帶來顯著的優(yōu)勢。

MVC、MVP、MVVM模式哪個(gè)要好一些

推薦直接從該源碼實(shí)例中下載項(xiàng)目源碼,并在Android Studio中瀏覽源代碼并運(yùn)行項(xiàng)目,這樣便可詳細(xì)地了解MVC、MVP、MVVM之間的區(qū)別與聯(lián)系。

1、MVC:

  • 優(yōu)勢:MVC 是最傳統(tǒng)的模式之一,易于理解和實(shí)現(xiàn)。對于簡單的應(yīng)用程序或團(tuán)隊(duì)成員熟悉的情況下,MVC 可能是一個(gè)不錯(cuò)的選擇。
  • 劣勢:MVC 中控制器往往會(huì)變得臃腫,導(dǎo)致代碼難以維護(hù)。視圖和模型之間的耦合度較高,不利于單元測試。

2、MVP:

  • 優(yōu)勢:MVP 將視圖與模型完全解耦,提高了代碼的可測試性和可維護(hù)性。Presenter 將業(yè)務(wù)邏輯從視圖中抽離出來,使得視圖更加輕量化。
  • 劣勢:MVP 可能增加了代碼量,因?yàn)樾枰帉戭~外的 Presenter 層。對于團(tuán)隊(duì)成員熟悉 MVC 而不熟悉 MVP 的情況下,學(xué)習(xí)曲線可能較陡。

3、MVVM:

  • 優(yōu)勢:MVVM 引入了數(shù)據(jù)綁定機(jī)制,簡化了視圖和視圖模型之間的通信。視圖模型可以直接對視圖進(jìn)行操作,而不需要通過控制器或 Presenter。這種模式適用于需要大量交互的前端應(yīng)用程序。
  • 劣勢:MVVM 模式可能增加了復(fù)雜性,特別是對于初學(xué)者而言,學(xué)習(xí)數(shù)據(jù)綁定和視圖模型可能需要一些時(shí)間。在某些情況下,數(shù)據(jù)綁定可能會(huì)導(dǎo)致性能問題。

綜上所述,每種模式都有其適用的場景,沒有一種模式是絕對優(yōu)于其他模式的。在選擇模式時(shí),應(yīng)該根據(jù)項(xiàng)目需求、團(tuán)隊(duì)技術(shù)水平和個(gè)人偏好進(jìn)行權(quán)衡。

所以建議先學(xué)習(xí)MVC然后在此基礎(chǔ)上慢慢挖掘改進(jìn)。然后再學(xué)習(xí)mvp或者mvvm吧。文章來源地址http://www.zghlxwxcb.cn/news/detail-833383.html

到了這里,關(guān)于Android安卓架構(gòu)MVC、MVP、MVVM模式的概念與區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Android面試題:MVC、MVP、MVVM

    MVC結(jié)構(gòu): 1.MVC(Model-View-Controller) 2.Model:對數(shù)據(jù)庫的操作、對網(wǎng)絡(luò)等的操作都應(yīng)該在Model里面處理,當(dāng)然對業(yè)務(wù)計(jì)算,變更等操作也是必須放在的該層的。 3.View:主要包括一下View及ViewGroup控件,可以是系統(tǒng)控件也可以是自定義控件。4.Controller:Android的控制層通常在Activity、Fragmen

    2024年02月11日
    瀏覽(22)
  • MVC,MVP,MVVM的理解和區(qū)別

    MVC,MVP,MVVM的理解和區(qū)別

    MVC MVC ,早期的開發(fā)架構(gòu),在安卓里,用res代表V,activity代表Controller層,Model層完成數(shù)據(jù)請求,更新操作,activity完成view的綁定,以及業(yè)務(wù)邏輯的編寫,更新view,這種模式是單向的,雖然代碼存在分層,但是之間的耦合性還是很高,并且C層做的事情很多,久而久之會(huì)變得臃腫

    2024年02月10日
    瀏覽(25)
  • 什么是 MVVM?MVVM和 MVC 有什么區(qū)別?什么又是 MVP ?

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

    MVVM是 Model-View-ViewModel的縮寫,即模型-視圖-視圖模型。MVVM 是一種設(shè)計(jì)思想。 模型(Model):代表數(shù)據(jù)模型,也可以在Model中定義數(shù)據(jù)修改和操作的業(yè)務(wù)邏輯。數(shù)據(jù)保存—存放著各種數(shù)據(jù),有的是固定寫死的,大多數(shù)是從后端返回的數(shù)據(jù) 視圖 (View):代表UI 組件,它負(fù)責(zé)將數(shù)

    2023年04月24日
    瀏覽(30)
  • 【面試題】MVC、MVP與MVVM模式是什么?

    【面試題】MVC、MVP與MVVM模式是什么?

    ?MVC模式 MVC是應(yīng)用最廣泛的軟件架構(gòu)之一,一般 MVC 分為: Model ( 模型 ) 、 Controller ( 控制器 ) 、 View ( 視圖 ) 。 這主要是基于分層的目的,讓彼此的職責(zé)分開。 View 一般通過 Controller 來和 Model 進(jìn)行聯(lián)系。 Controller 是 Model 和 View 的協(xié)調(diào)者, View 和 Model 不直接聯(lián)系。基

    2024年02月11日
    瀏覽(25)
  • [架構(gòu)之路-195]-《軟考-系統(tǒng)分析師》- MVC、MVP、MVVM架構(gòu)各自的優(yōu)缺點(diǎn)

    [架構(gòu)之路-195]-《軟考-系統(tǒng)分析師》- MVC、MVP、MVVM架構(gòu)各自的優(yōu)缺點(diǎn)

    目錄 前言: 一、MVC 1.1 MVC的基本結(jié)構(gòu) 1.2 MVC的工作流程 1.3 MVC的優(yōu)缺點(diǎn) 二、MVP 2.1 MVP的基本結(jié)構(gòu) 2.2 MVP的工作流程 2.3 MVP的優(yōu)缺點(diǎn) 三、MVVM 3.1 MVVM的基本結(jié)構(gòu) 3.2 MVVM的工作流程 3.3 MVVM的優(yōu)缺點(diǎn) MVC: 一個(gè)controller對應(yīng)多個(gè)view,model可以直接通過view。從大鍋燴時(shí)代進(jìn)化,引入了分層

    2024年02月04日
    瀏覽(103)
  • Android 安卓MVP架構(gòu)(帶視頻),大專生面試阿里P7居然過了

    Android 安卓MVP架構(gòu)(帶視頻),大專生面試阿里P7居然過了

    MainActivity: package com.brk.mvp; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity implements View { private TextView news; private Button add; private Button less; MainPresenter mainPresenter = new MainPresenter(this);

    2024年04月16日
    瀏覽(27)
  • Android MVVM架構(gòu)模式,詳詳詳細(xì)學(xué)習(xí)

    是一種基于數(shù)據(jù)綁定的架構(gòu)模式,用于設(shè)計(jì)和組織應(yīng)用程序的代碼結(jié)構(gòu)。它將應(yīng)用程序分為三個(gè)主要部分:Model(模型)、View(視圖)和ViewModel(視圖模型)。 Model(模型):負(fù)責(zé)處理數(shù)據(jù)和業(yè)務(wù)邏輯。它可以是從網(wǎng)絡(luò)獲取的數(shù)據(jù)、數(shù)據(jù)庫中的數(shù)據(jù)或其他數(shù)據(jù)源。Model層通常

    2024年02月12日
    瀏覽(32)
  • 淺談下mvc和mvp、mvvm到mvvm+Jetpack

    淺談下mvc和mvp、mvvm到mvvm+Jetpack

    作者:抓不住老鼠的貓 MVC MVC全名為Model-View-Controller,圖解如下 View:負(fù)責(zé)與用戶交匯,顯示界面。 Controller:負(fù)責(zé)接收來自view的請求,處理業(yè)務(wù)邏輯。 Model:負(fù)責(zé)數(shù)據(jù)邏輯,網(wǎng)絡(luò)請求數(shù)據(jù)以及本地?cái)?shù)據(jù)庫操作數(shù)據(jù)等。 在MVC架構(gòu)中,Controller是業(yè)務(wù)的主要承載者,幾乎所有的業(yè)

    2024年02月16日
    瀏覽(26)
  • MVC與MVVM模式的區(qū)別

    MVC與MVVM模式的區(qū)別

    Model(模型):用于處理應(yīng)用程序數(shù)據(jù)邏輯,負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。處理數(shù)據(jù)的crud View(視圖):處理數(shù)據(jù)顯示的部分。通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。 Controller(控制器):處理 數(shù)據(jù)顯示 的部分,控制器負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并將數(shù)據(jù)發(fā)送給模型。一

    2024年02月15日
    瀏覽(28)
  • 安卓Android 架構(gòu)模式及UI布局設(shè)計(jì)

    安卓Android 架構(gòu)模式及UI布局設(shè)計(jì)

    Android UI 設(shè)計(jì)是指在Android應(yīng)用程序中創(chuàng)建用戶界面的過程。這涉及到使用XML布局文件定義界面元素的位置和外觀,以及通過Java或Kotlin代碼處理用戶交互。Android UI設(shè)計(jì)包括使用各種視圖組件(如按鈕、文本框、列表等)和布局管理器(如線性布局、相對布局等)來構(gòu)建用戶友

    2024年04月13日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包