Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Is Activity God? ~ The MVP Architecture ~
Search
Ken Wagatsuma
December 16, 2015
Programming
0
140
Is Activity God? ~ The MVP Architecture ~
About MVP Architecture, The Difference between MVC and MVP, and Pros/Cons of MVP
Ken Wagatsuma
December 16, 2015
Tweet
Share
More Decks by Ken Wagatsuma
See All by Ken Wagatsuma
Pregel Graph Compute Engines - Supersteps Exampls
kenju
0
200
Kafka on Kubernetes with Strimzi
kenju
0
140
AWS DynamoDB Accelerator (DAX) 101
kenju
2
7k
Moden browser introduction
kenju
1
390
Cookpad summer internship 2019 - API
kenju
0
10k
Introduction to Design Patterns
kenju
0
72
GraphQL Asia 2019 "Re-architecture of a decade-old app with BFF/GraphQL"
kenju
0
8.9k
Introduction to TypeScript
kenju
0
700
Introduction to Programmatic Ad
kenju
0
240
Other Decks in Programming
See All in Programming
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
170
Develop Faster With FrankenPHP
dunglas
2
3.2k
Kubernetesで実現できるPlatform Engineering の現在地
nwiizo
3
1.9k
「”誤った使い方をすることが困難”な設計」で良いコードの基礎を固めよう / phpcon-odawara-2025
taniguhey
0
120
PHPのガベージコレクションを深掘りしよう
rinchoku
0
260
リアルタイムレイトレーシング + ニューラルレンダリング簡単紹介 / Real-Time Ray Tracing & Neural Rendering: A Quick Introduction (2025)
shocker_0x15
1
290
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
180
API for docs
soutaro
1
590
Devin入門と最近のアップデートから見るDevinの進化 / Introduction to Devin and the Evolution of Devin as Seen in Recent Update
rkaga
9
4.8k
Building Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
cyrilmottier
2
260
技術選定を未来に繋いで活用していく
sakito
3
100
Going Structural with Named Tuples
bishabosha
0
200
Featured
See All Featured
It's Worth the Effort
3n
184
28k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Optimising Largest Contentful Paint
csswizardry
36
3.2k
The Pragmatic Product Professional
lauravandoore
33
6.5k
GitHub's CSS Performance
jonrohan
1030
460k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Bash Introduction
62gerente
611
210k
Embracing the Ebb and Flow
colly
85
4.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
Is Activity God? Kenju Wagatsuma
Agenda: -> ❖ 1m : Story Behind ❖ 3m :
What and Why? ❖ 1m : Conclusion
/** * Introduce Myself * * @author me */
“me” = { “name” : “Kenju Wagatsuma ( KJ )”,
“company” : “Recruit Technologies Co.,LTD.”, “profession” : “Android Development”, “favs” : { 'Music' : ‘Stevie Wonder', 'Hobby' : ‘Acoustic Guitar & Singing’, 'Sport' : 'Rugby' } }
/** * Story Behind * * @author me */
To Do MVP -> MVC? -> What? -> Why? Not
To Do MVVM DDD Sample Code
Activity -> UI + Logic :( -> Multiple Threads :(
-> Spaghetti :( -> Testing is hard :( Other Classes
MVP? φχιϨΦΠγΠϊ?
/** * What MVP? * * @author me */
http://www.techyourchance.com/model-view-controller-mvc-and-model-view-presenter-mvp-architectural-patterns-in-android-part-1/ No Communication
Entity / Data ( e.g. JSON, SQL ) UseCase /
Business Logic Presenter / Adapter View / UI Threads
Entity / Data ( e.g. JSON, SQL ) UseCase /
Business Logic Presenter / Adapter View / UI Threads X X X
/** * Why MVP? * * @author me */
Why? - Pros, Cons ❖ Maintainability ❖ Testability ❖ Information
Hiding
Why? - Pros, Cons ❖ Redundancy ❖ Takes Time
/** * Conclusion * * @author me */
No Silver Bullet ❖ MVP ❖ is just one of
possibilities and not a perfect solution ❖ could be mixed w/ other solutions
/** * Appendix * */
Blog “Architecting Android… The clean way?” @see http://fernandocejas.com/2014/09/03/ architecting-android-the-clean-way/
Blog “M — Model in MVC, MVP, MVVC in Android” @see https://medium.com/@artem_zin/m-
model-from-mvc-mvp-in-android-flow- and-mortar-bd1e50c45395#.5e525edu1
Github Wiki “Introduction to Model View Presenter on Android” @see
https://github.com/konmik/ konmik.github.io/wiki/Introduction- to-Model-View-Presenter-on-Android
Blog “AndroidͰ MVCΑΓMVPͷํ͕͍͍͔͠Εͳ͍” @see http://konifar.hatenablog.com/entry/ 2015/04/17/010606
Blog “͜Ε͔ΒͷʮઃܭʯͷΛ͠Α͏” @see http://tech.recruit-mp.co.jp/mobile/ android-architecture/
/** * Happy Coding! * */
/** * Contacts * */
“contact” = { “Twitter” : “@kenjuwagatsuma”, “GitHub” : “https://github.com/KENJU”, “Blog”
: “https://medium.com/@kenjuwagatsuma” }