j3iiifn’s blog

ネットワーク、インフラ、プログラミングについての備忘録

(学習メモ)Android Architecture Blueprintsのtodo-mvvm-databindingブランチの相関図を描いた

MVVMパターンに入門したくて『Androidアプリ設計パターン入門』の「第2章 MVVMパターンを使ったアプリ構成」を読んだ。

peaks.cc

この章ではAndroid Architecture Blueprintsのtodo-mvvm-databindingブランチをベースにMVVMパターンを解説している。

このブランチ自体は2016〜2017年に作られたもので、2020年現在のトレンドとは離れてしまっているが、MVVMパターンの概念を理解するには良い教材かなと思った。

Activity、Fragment、Navigator、ViewModelの4つの要素の関係性を理解するために、本書を読みながら相関図を作った。

f:id:j3iiifn:20200920190605p:plain

本書で腑に落ちないと思ったのは、Navigatorインターフェイスの役割を『アクションを処理する』と表現していたところだ。 Activityを起動したり終了したりするための入り口となっているので、「画面遷移をする」のほうがしっくり来る。 Androidの文脈でNavigationと言えばNavigationライブラリが思い浮かぶが、それは画面遷移を扱うライブラリだ。 そう考えると、このプロジェクトのNavigatorは画面遷移のニュアンスがあるんだろう。