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
88
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
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.6k
InsightX 会社説明資料/ Company deck
insightx
0
190
AIとの協業で実現!レガシーコードをKotlinらしく生まれ変わらせる実践ガイド
zozotech
PRO
2
310
文字列操作の達人になる ~ Kotlinの文字列の便利な世界 ~ - Kotlin fest 2025
tomorrowkey
2
460
AIを使ってテストを楽にする
kworkdev
PRO
0
410
日本のソブリンAIを支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
120
SOTA競争から人間を超える画像認識へ
shinya7y
0
690
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
250
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
160
AWSが好きすぎて、41歳でエンジニアになり、AAIを経由してAWSパートナー企業に入った話
yama3133
2
230
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
7
1.8k
アノテーション作業書作成のGood Practice
cierpa0905
PRO
1
390
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.3k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Unsuck your backbone
ammeep
671
58k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Balancing Empowerment & Direction
lara
5
710
Leading Effective Engineering Teams in the AI Era
addyosmani
7
700
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
How to train your dragon (web standard)
notwaldorf
97
6.3k
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