Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
220
Kafka on Kubernetes with Strimzi
kenju
0
180
AWS DynamoDB Accelerator (DAX) 101
kenju
2
7.2k
Moden browser introduction
kenju
1
430
Cookpad summer internship 2019 - API
kenju
0
10k
Introduction to Design Patterns
kenju
0
98
GraphQL Asia 2019 "Re-architecture of a decade-old app with BFF/GraphQL"
kenju
0
9k
Introduction to TypeScript
kenju
0
750
Introduction to Programmatic Ad
kenju
0
270
Other Decks in Programming
See All in Programming
AWS CDKの推しポイントN選
akihisaikeda
1
240
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
910
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
5
18k
Integrating WordPress and Symfony
alexandresalome
0
120
Reactive Thinking with Signals and the new Resource API
manfredsteyer
PRO
0
160
関数の挙動書き換える
takatofukui
4
770
WebRTC と Rust と8K 60fps
tnoho
2
1.9k
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
240
sbt 2
xuwei_k
0
190
AIコーディングエージェント(skywork)
kondai24
0
110
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
5
260
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
180
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Faster Mobile Websites
deanohume
310
31k
Bash Introduction
62gerente
615
210k
Scaling GitHub
holman
464
140k
Docker and Python
trallard
46
3.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Designing for Performance
lara
610
69k
Six Lessons from altMBA
skipperchong
29
4.1k
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” }