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
OkMVP
Search
Aaron He
March 08, 2016
Technology
76
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OkMVP
An internal talk I gave at work on MVP.
Aaron He
March 08, 2016
More Decks by Aaron He
See All by Aaron He
Road to Modularization(DroidCon NYC 2019)
aaronhe
1
220
There's No Magic - How Kotlin can be your best friends @DevFest LA 2017
aaronhe
0
48
Google I/O '17 recap - GDG LA May 2017 Android@Tinder
aaronhe
0
110
RxJava for Android - GDG DevFest LA 2016
aaronhe
0
93
Memory Leak on Andriod - GDG LA July 2016
aaronhe
0
51
Auto Value and Its Extension GDG LA April
aaronhe
0
64
Other Decks in Technology
See All in Technology
あなたの知らないAmazon VPC Route Server/Amazon VPC Route Server you don't know about
masakiokuda
2
210
形式手法を使って仕様をコーディングしよう
mikanichinose
0
170
行動するAIのためのオントロジー | DevRev — Encraft #26.pdf
dvrv_tknrszk
2
670
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
260
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
630
AIに攻撃される前に、AIに攻撃させる
tsuchikazu
0
120
2026-09-26 Platform Engineering Kaigi 2026 インフラとアプリの境界線と委譲の設計 / Drawing the Infra and App Line
masasuzu
0
590
AWS FinOps Agent 結局何が得意なの?
siromi
0
230
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
150
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
540
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
200
[2026 Oracle Technical Deep Dive] AI時代のデータベース基盤をどう選ぶ? Exadata Database Serviceの選択肢と使い分け (2026年9月17日開催)
oracle4engineer
PRO
0
190
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
First, design no harm
axbom
PRO
2
1.3k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
420
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A better future with KSS
kneath
240
18k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
380
Everyday Curiosity
cassininazir
0
340
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
590
Agile that works and the tools we love
rasmusluckow
331
22k
Crafting Experiences
bethany
1
370
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