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
0
250
Approaching Clean Architecture in Android w/ Kotlin
Speech for Kyiv Kotlin Night. #KNightKyiv #Kotlin #Kyiv
Artyom Dorosh
March 24, 2018
Tweet
Share
More Decks by Artyom Dorosh
See All by Artyom Dorosh
Android Forge:
doroshartyom
1
71
Other Decks in Programming
See All in Programming
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
2
4.8k
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
110
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
350
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.1k
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.7k
CSC509 Lecture 05
javiergs
PRO
0
310
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
15
6.3k
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
190
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
320
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
760
AkarengaLT vol.38
hashimoto_kei
1
110
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.7k
The Pragmatic Product Professional
lauravandoore
36
7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
The Invisible Side of Design
smashingmag
302
51k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
The Straight Up "How To Draw Better" Workshop
denniskardys
238
140k
Gamification - CAS2011
davidbonilla
81
5.5k
YesSQL, Process and Tooling at Scale
rocio
173
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
880
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
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