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
OkMVP
Search
Aaron He
March 08, 2016
Technology
0
65
OkMVP
An internal talk I gave at work on MVP.
Aaron He
March 08, 2016
Tweet
Share
More Decks by Aaron He
See All by Aaron He
Road to Modularization(DroidCon NYC 2019)
aaronhe
1
180
There's No Magic - How Kotlin can be your best friends @DevFest LA 2017
aaronhe
0
27
Google I/O '17 recap - GDG LA May 2017 Android@Tinder
aaronhe
0
87
RxJava for Android - GDG DevFest LA 2016
aaronhe
0
82
Memory Leak on Andriod - GDG LA July 2016
aaronhe
0
43
Auto Value and Its Extension GDG LA April
aaronhe
0
53
Other Decks in Technology
See All in Technology
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
200
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.6k
防災デジタル分野での官民共創の取り組み (2)DIT/CCとD-CERTについて
ditccsugii
0
310
AWS Top Engineer、浮いてませんか? / As an AWS Top Engineer, Are You Out of Place?
yuj1osm
2
220
React19.2のuseEffectEventを追う
maguroalternative
1
410
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
240
CoRL 2025 Survey
harukiabe
1
210
incident_commander_demaecan__1_.pdf
demaecan
0
160
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
14k
「使い方教えて」「事例教えて」じゃもう遅い! Microsoft 365 Copilot を触り倒そう!
taichinakamura
0
400
Geospatialの世界最前線を探る [2025年版]
dayjournal
1
230
Digitization部 紹介資料
sansan33
PRO
1
5.6k
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
690
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Context Engineering - Making Every Token Count
addyosmani
7
260
We Have a Design System, Now What?
morganepeng
53
7.8k
Site-Speed That Sticks
csswizardry
13
910
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Six Lessons from altMBA
skipperchong
29
4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Transcript
OK MVP Aaron He
OK MAP WHAT’S THE PROBLEM? ▸ We want to deliver
features fast ▸ At same time we need it reliable, scalable and maintainable ▸ We also need a pattern that is consistent
OK MVP DECOUPLE BUSINESS LOGIC ▸ Activity/Fragment is difficult to
test ▸ Yes, Espresso/UI Automater but with sloppy design Integration tests are a scam: https://vimeo.com/80533536
OK MVP WHAT IS MVP? ▸ Model-View-Presenter https://github.com/rallat/EffectiveAndroid
OK MVP MODEL-VIEW-PRESENTER ▸ Start by defining interfaces. Pop Config
as an example. ▸ Model ▸ View ▸ Presenter ▸ The interface is the contract ▸ Can be mocked
OK MVP EASY TO INTEGRATE WITH LEGACY CODE ▸ Flexible
▸ Example: Confirm dialog when vehicle is deleted
OK MVP WHAT COULD GO WRONG ▸ The View ▸
Android fragmentation ▸ Interface is the contract ▸ But does the implementation actually do what you expect? Integration tests are a scam: https://vimeo.com/80533536
OK MVP OTHER CHOICES ▸ MVC ▸ MVVM ▸ U2020
OK MVP OK MVP ▸ An Ok architecture but simple,
scalable, maintainable A few Ok libraries: https://www.youtube.com/watch?v=WvyScM_S88c