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
46
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
170
There's No Magic - How Kotlin can be your best friends @DevFest LA 2017
aaronhe
0
22
Google I/O '17 recap - GDG LA May 2017 Android@Tinder
aaronhe
0
69
RxJava for Android - GDG DevFest LA 2016
aaronhe
0
73
Memory Leak on Andriod - GDG LA July 2016
aaronhe
0
37
Auto Value and Its Extension GDG LA April
aaronhe
0
49
Other Decks in Technology
See All in Technology
VSCodeの拡張機能を作っている話
ebarakazuhiro
1
800
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
3
2.5k
2024春 注目のWeb系 OSS & SaaS 3選
makies
0
180
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
400
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
160
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
37k
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
390
Azure Container Apps + Bicep 〜 こんな感じで運用しています
kaz29
3
620
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
210
Microsoft for Startups Founders Hub_20240429 update
daikikanemitsu
1
2.4k
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
5
18k
require(ESM)とECMAScript仕様
uhyo
4
960
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
217
8.6k
The Language of Interfaces
destraynor
151
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
33
6k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
What's new in Ruby 2.0
geeforr
337
31k
Automating Front-end Workflow
addyosmani
1357
200k
4 Signs Your Business is Dying
shpigford
176
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
11
1k
What the flash - Photography Introduction
edds
64
11k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
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