iT邦幫忙

2022 iThome 鐵人賽

DAY 15
0

MVC

[V] View:
負責頁面顯示和使用者交互。
由xml文件負責。

[C] Controller:
負責Model和View之間的交互
由Activity/Fragment負責

[M] Model:
負責數據相關操作(包括從網路中獲取數據)

缺點:

  • Activity/Fragment容易變得臃腫不堪,不利於維護。

MVP

[V] View:
由Xml文件、Activity/Fragment負責

[P] Presenter:
所由邏輯都部屬在這裡

[M] Model:
負責數據相關操作(包括從網路中獲取數據)

  • 彼此之間會透過接口會進行操作。

缺點:

  • Presenter中除了業務邏輯外,還要處理大量的View和Model之間的手動同步邏輯,造成Presenter過於臃腫,維護隨著時間變得更加困難。

MVVM

(V) View:
由Xml文件、Activity/Fragment負責,和MVP中的View概念相同。

(VM) ViewModel:
存儲View的狀態。將Model和ViewModel進行綁定,Model或View其中一方更改時,會同步實時刷新。

(M) Model:
負責數據相關操作(包括從網路中獲取數據)

實現MVVM架構必不可少的組件:

  • Lifecycle:生命週期狀態回調。
  • DataBinding:可以自動同步(雙向綁定)UI和Data。
  • ViewModel:存儲頁面相關數據,可以不用手動處理手機旋轉等配置改變時而導致的數據丟失。
  • LiveData:可觀察的數據存儲類。

上一篇
Day14 - 常用的9種對話框(Dialog)
下一篇
Day16 - Lifecycle | Android Jetpack
系列文
Android 開發 30天 初學之路筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言