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
210
Kafka on Kubernetes with Strimzi
kenju
0
150
AWS DynamoDB Accelerator (DAX) 101
kenju
2
7.1k
Moden browser introduction
kenju
1
390
Cookpad summer internship 2019 - API
kenju
0
10k
Introduction to Design Patterns
kenju
0
75
GraphQL Asia 2019 "Re-architecture of a decade-old app with BFF/GraphQL"
kenju
0
8.9k
Introduction to TypeScript
kenju
0
710
Introduction to Programmatic Ad
kenju
0
250
Other Decks in Programming
See All in Programming
【TSkaigi 2025】これは型破り?型安全? 真実はいつもひとつ!(じゃないかもしれない)TypeScript クイズ〜〜〜〜!!!!!
kimitashoichi
1
280
Agent Rules as Domain Parser
yodakeisuke
1
210
AIコーディングの本質は“コード“ではなく“構造“だった / The essence of AI coding is not “code” but "structure
seike460
PRO
2
700
Building an Application with TDD, DDD and Hexagonal Architecture - Isn't it a bit too much?
mufrid
0
370
TSConfigからTypeScriptの世界を覗く
planck16
2
1.2k
PT AI без купюр
v0lka
0
160
SpringBootにおけるオブザーバビリティのなにか
irof
1
870
ts-morph実践:型を利用するcodemodのテクニック
ypresto
1
500
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.2k
OpenTelemetryで始めるベンダーフリーなobservability / Vendor-free observability starting with OpenTelemetry
seike460
PRO
0
160
TVer iOSチームの共通認識の作り方 - Findy Job LT iOSアプリ開発の裏側 開発組織が向き合う課題とこれから
techtver
PRO
0
640
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
170
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
BBQ
matthewcrist
88
9.6k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
A Tale of Four Properties
chriscoyier
159
23k
Embracing the Ebb and Flow
colly
85
4.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Code Reviewing Like a Champion
maltzj
523
40k
Making Projects Easy
brettharned
116
6.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
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” }