Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Is Activity God? ~ The MVP Architecture ~
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Ken Wagatsuma
December 16, 2015
Programming
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
More Decks by Ken Wagatsuma
See All by Ken Wagatsuma
Pregel Graph Compute Engines - Supersteps Exampls
kenju
0
270
Kafka on Kubernetes with Strimzi
kenju
0
240
AWS DynamoDB Accelerator (DAX) 101
kenju
2
7.4k
Moden browser introduction
kenju
1
500
Cookpad summer internship 2019 - API
kenju
0
11k
Introduction to Design Patterns
kenju
0
170
GraphQL Asia 2019 "Re-architecture of a decade-old app with BFF/GraphQL"
kenju
0
9.4k
Introduction to TypeScript
kenju
0
830
Introduction to Programmatic Ad
kenju
0
330
Other Decks in Programming
See All in Programming
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.8k
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
400
sbt 2.0: takeoff
eed3si9n
0
190
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
120
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
320
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
110
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
200
Crash Auto Pipelines
veronikapj
1
340
Railsバージョンを4倍にした話
optim
0
920
Seven New Principles of Software Engineering
yegor256
0
430
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
200
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.6k
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
470
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
GitHub's CSS Performance
jonrohan
1033
470k
Amusing Abliteration
ianozsvald
1
380
Side Projects
sachag
456
43k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
550
Discover your Explorer Soul
emna__ayadi
2
1.3k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
340
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
970
Crafting Experiences
bethany
1
410
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” }