パルカワ2

最近はFlutterをやっています

Androidアプリの MVP アーキテクチャ

AndroidアプリではMVPアーキテクチャがよく使われてるっぽいぞ!?!!!と思ったのでRetrofit触るついでにやってみた。

以下のような認識でいます。

  • Modelは、APIやDBとやり取りをしてEntityを返す。
  • Presenterは、ModelからEntityを受け取り、Viewに渡す
  • Viewは, Viewに関するメソッドを持ち、Entityを利用して表示したりする。

今までActivityはController的なやつ!って説明を見たりしていたので、最初それで考えてウーン??ってなったけど、ActivityはViewじゃんってわかった瞬間にアハ体験した。

こういう感じになった。
f:id:hisaichi5518:20151008010641p:plain

参考

主に以下を見て学びました。

一応書いたコードはGithubにもあげた。
コミットせずに進めてしまったのでわからないけど、最初はEntityを作らずにModelにEntityに入るようなクラスも入れてたけど、Viewに渡すならModelとは別概念がいいなと思って分けるとか色々した。
hisaichi5518/retrofit-mvp · GitHub