iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
自我挑戰組

三十天寫出上架Android App系列 第 16

淺談MVVM

幾個框架名稱MVC/MVP/MVVM

MVC:
Model, View, Control

MVP:
Model, View, Presenter

MVVM:
Model, View, ViewModel

在這之間,先前談的介面就是View,它包含了:Activity, fragment, View, Adapter 等等

在最新的架構,Google 提出了ViewModel(https://developer.android.com/topic/libraries/architecture/viewmodel),它是做為View/Model之間的交換、邏輯處理 (https://developer.android.com/jetpack/guide)
主要的目的跟MVP接近,但奐成了DataBinding 來作業

官方也提出了幾點重要的參考:
Avoid designating your app's entry points—such as activities, services, and broadcast receivers—as sources of data.

Create well-defined boundaries of responsibility between various modules of your app.

Expose as little as possible from each module.

Consider how to make each module testable in isolation.

Focus on the unique core of your app so it stands out from other apps.

Persist as much relevant and fresh data as possible.

Assign one data source to be the single source of truth.

MVVM 另外有幾個優點:資料趨動、下層元件不需瞭解上層元件(不必知道View是誰)、職責清楚

官方的介紹完整易讀,十分推薦


上一篇
第一次談談清單
下一篇
談談TDD
系列文
三十天寫出上架Android App20

尚未有邦友留言

立即登入留言