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
Approaching Clean Architecture in Android w/ Ko...
Search
Artyom Dorosh
March 24, 2018
Programming
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Approaching Clean Architecture in Android w/ Kotlin
Speech for Kyiv Kotlin Night. #KNightKyiv #Kotlin #Kyiv
Artyom Dorosh
March 24, 2018
More Decks by Artyom Dorosh
See All by Artyom Dorosh
Android Forge:
doroshartyom
1
74
Other Decks in Programming
See All in Programming
不幸な GC
chencmd
0
290
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
340
30年振りにコンパイラの定数整数除算を改善した
herumi
2
490
Oxlintはいいぞ(続)
yug1224
1
270
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
110
バグを直したら useEffect が消えた
colorful12
3
660
AIが無かった頃の素敵な出会いの話
codmoninc
1
480
プロポーザルを書いてもらう
pvcresin
0
560
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
220
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
280
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
120
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
Practical Orchestrator
shlominoach
191
12k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
It's Worth the Effort
3n
188
29k
Documentation Writing (for coders)
carmenintech
77
5.5k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
220
HDC tutorial
michielstock
2
800
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
BBQ
matthewcrist
89
10k
Transcript
Approaching Clean Architecture w/ Kotlin in Android Artyom Dorosh 1
About me • 4+ years in Android Development • Writing
in Kotlin since the late beta • Helping people at StackOverflow • Making cool stuff at themind.io 2
3
Agenda 1. Clean Architecture 2. CA & Android 3. CA
& Kotlin 4
Clean Architecture 5
What is Clean Architecture? 6
7 Independent of Framework
8 Independent of UI
9 Independent of Data Sources
10 Testable
CA is • Independent of Frameworks • Testable • Independent
of UI • Independent of Data Sources 11
The Scheme Entities Use cases Presenters UI DB Network Domain
logic Business Rules Interface Adapters Frameworks & Sources Dependency Rule 12 Gateways
13 Android
Entities Use cases Presenters UI DB Network 14 Gateways
Dependency Presenters Repositories Use Cases Entities UI DB Web 15
Dependency Presenters Repositories Use Cases Entities UI DB Web 16
Presentation Data Domain
Data flow. Explained. Use Cases Entities Repos Domain Data Presentation
17 Web DB HAL UI Presenters
18 CA ♥ Android
19 CA ♥ CC
Kotlin 20
DEMO 21
Pros & Cons of CA 22
Easy to maintain 23 ♥
Easy to share 24 ♥
~ 70% code base sharing 25
Easy to test 26 ♥
Over-engineering 27
YAGNI Principle ✍ 28
One more thing … 29
The real issue Mobile developers thinking too much about software
architecture, because … 30
Software architecture is the money talk. 31
32
33
34
35
36
Slow and steady wins the race. 37
38
Source Code on GitHub 39 https://goo.gl/AT2bdS
Books to Read 40 https://goo.gl/p50lsZ
Books to Read 41 https://goo.gl/ZkyKsu
Contact me twitter.com/dniHze t.me/dniHze github.com/dniHze 42
Chat & Channel t.me/kpidroid t.me/androidpain 43
Thats all, folks! Any questions? 44