Your SlideShare is downloading. ×
Model View Presenter for Android
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Model View Presenter for Android

733
views

Published on

Model View Presenter for Android

Model View Presenter for Android

Published in: Engineering

0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
733
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
1
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Model View Presenter for Android
  • 2. 自己紹介
  • 3. 釘宮 愼之介 / @kgmyshin 自己紹介 ・ Androidエンジニア ! 福岡県出身 ! 5月からフリーランスか転職か 勉強会(ダンジョン)に出会いを求めるのは間違っているだろうか
  • 4. ところで、 特に去年くらいから MVPって 聞きませんか?
  • 5. そもそもMVPとは?
  • 6. 基本的にはMVCなんだけど、 違いとしては Viewがユーザからのイベントを 一切処理せずに 全てPresenterに移譲して ModelにはPresenterからアクセスする というのがある
  • 7. ドメイン層 プレゼンテーション層 Presenter Model View タッチなどのイベント 移譲 然るべき Modelのinterfaceをcall ModelからのfeedbackはObserverPatterを用いて、View or Presenterへ通知するか 呼び出したPresenterにCallbackで返却するかのどちらでも良いと思う。 セオリーは前者だけど、githubのソースとか見ると後者の方が多い感じ。 return return値をもとに Viewを操作
  • 8. なぜ今 MVPなのか?
  • 9. AndroidでMVCを 適用する際の問題点
  • 10. Activity (Fragment)を Controllerか Viewか 奇麗に分けきれない
  • 11. ControllerなのかViewなのかで たまに言い争ってるのを みかけることもしばしば。
  • 12. android best practicesでも activityとfragmentって Controllerでもあるし Viewでもあるよねって言ってる。 https://github.com/futurice/android-best-practices
  • 13. 多重責務
  • 14. でも MVPで設計すれば この問題は解消される
  • 15. なぜなら、 Activityから Controller足り得る要素を 完全に抜き取って Viewにすることができるから
  • 16. ドメイン層 プレゼンテーション層 Controller Model View タッチなどのイベント Activityが この位置に居るので Model関連の処理を Activityに書く事になる Model View Controller Activity
  • 17. ドメイン層 プレゼンテーション層 Presenter Model View タッチなどのイベント Activityが この位置に居るので Modelと疎になり 書くべき事が減る 移譲 Model View Presenter Activity
  • 18. MVPを用いる事で Activity(Fragment)は 明確にViewになる まとめ ・ ・ その結果、Activityが煩雑に なりづらくなる