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
62
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
25
Google I/O '17 recap - GDG LA May 2017 Android@Tinder
aaronhe
0
83
RxJava for Android - GDG DevFest LA 2016
aaronhe
0
80
Memory Leak on Andriod - GDG LA July 2016
aaronhe
0
42
Auto Value and Its Extension GDG LA April
aaronhe
0
52
Other Decks in Technology
See All in Technology
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
160
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
390
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
8
810
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
150
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
220
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
0
140
ローカルLLMでファインチューニング
knishioka
0
130
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
370
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
1
410
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
110
Prox Industries株式会社 会社紹介資料
proxindustries
0
210
AIの最新技術&テーマをつまんで紹介&フリートークするシリーズ #1 量子機械学習の入門
tkhresk
0
130
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
Being A Developer After 40
akosma
90
590k
Writing Fast Ruby
sferik
628
61k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Done Done
chrislema
184
16k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
920
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
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