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
130
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
1
190
Kafka on Kubernetes with Strimzi
kenju
1
130
AWS DynamoDB Accelerator (DAX) 101
kenju
3
6.8k
Moden browser introduction
kenju
1
350
Cookpad summer internship 2019 - API
kenju
0
10k
Introduction to Design Patterns
kenju
0
66
GraphQL Asia 2019 "Re-architecture of a decade-old app with BFF/GraphQL"
kenju
0
8.8k
Introduction to TypeScript
kenju
0
670
Introduction to Programmatic Ad
kenju
0
210
Other Decks in Programming
See All in Programming
リリース8年目のサービスの1800個のERBファイルをViewComponentに移行した方法とその結果
katty0324
5
3.6k
Golang と Erlang
taiyow
8
1.9k
2万ページのSSG運用における工夫と注意点 / Vue Fes Japan 2024
chinen
3
1.3k
OpenTelemetryでRailsのパフォーマンス分析を始めてみよう(KoR2024)
ymtdzzz
4
1.6k
Content Security Policy入門 セキュリティ設定と 違反レポートのはじめ方 / Introduction to Content Security Policy Getting Started with Security Configuration and Violation Reporting
uskey512
1
430
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
140
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
920
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
140
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
170
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
4
1.6k
CSC509 Lecture 09
javiergs
PRO
0
110
Googleのテストサイズを活用したテスト環境の構築
toms74209200
0
270
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
4 Signs Your Business is Dying
shpigford
180
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
32
1.8k
Documentation Writing (for coders)
carmenintech
65
4.4k
Agile that works and the tools we love
rasmusluckow
327
21k
Six Lessons from altMBA
skipperchong
26
3.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
The Power of CSS Pseudo Elements
geoffreycrofte
72
5.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Scaling GitHub
holman
458
140k
Adopting Sorbet at Scale
ufuk
73
9k
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” }