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
68
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
90
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
ルネサンス開発者を育てる 1on1支援AIエージェント
yusukeshimizu
0
130
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
6
2.4k
The State of AI Agent Security:2025年の総括と2026年の宿題
pict3
0
110
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2.7k
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
170
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
2
540
Everything As Code
yosuke_ai
0
440
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
2
290
Claude Codeを使った情報整理術
knishioka
15
11k
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
300
TED_modeki_共創ラボ_20251203.pdf
iotcomjpadmin
0
180
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
530
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
200
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
How to Think Like a Performance Engineer
csswizardry
28
2.4k
The Curious Case for Waylosing
cassininazir
0
200
Side Projects
sachag
455
43k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
100
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
39
Git: the NoSQL Database
bkeepers
PRO
432
66k
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