Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Desmitificando Clean Architecture en Android
Search
Armando Picón
June 22, 2022
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Desmitificando Clean Architecture en Android
Armando Picón
June 22, 2022
More Decks by Armando Picón
See All by Armando Picón
Dibujo en Compose
devpicon
0
69
Gemini in Android Studio
devpicon
0
2.8k
Scalable Depency Management with Version Catalog
devpicon
0
71
StateFlow y SharedFlow ¿el fin de LiveData?
devpicon
0
340
Introdução ao Kotlin Flow
devpicon
0
140
Introducción a Kotlin Flow
devpicon
0
170
Introduction to Kotlin Flow
devpicon
0
280
Coroutines on the way!
devpicon
0
93
The Journey to Reach a Good Architecture
devpicon
0
210
Other Decks in Programming
See All in Programming
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
160
Deep dive into the select statement (GopherCon UK)
jespino
0
170
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
300
巨大モノリシックアプリ モダン化大作戦
ktcryomm
0
680
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
300
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
不幸な GC
chencmd
0
900
ソフトウェアラスタライザ
fadis
1
800
AIの中の人になってみる
htkym
0
170
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
2
290
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
410
Practical Orchestrator
shlominoach
191
12k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Balancing Empowerment & Direction
lara
6
1.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
Mobile First: as difficult as doing things right
swwweet
225
10k
Typedesign – Prime Four
hannesfritz
42
3.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Deep Space Network (abreviated)
tonyrice
0
300
Done Done
chrislema
186
16k
Transcript
Desmitificando Clean Architecture en Android Armando Picón Mobile Engineer at
Cornershop/Uber @devpicon https://linktr.ee/devpicon
Algunas verdades sobre Clean Architecture - Es el título de
un libro y un post de Uncle Bob - No es una arquitectura - Reúne una serie de principios comunes desde el análisis de múltiples arquitecturas - Se fundamenta en la aplicación de principios SOLID - La capa de Dominio (Domain) es el punto central
¿Qué es una arquitectura?
¿Qué es una arquitectura? - Estructurar un proyecto - Distribuir
componentes - Separar de responsabilidades - Está sujeta a diversos factores
¿Podemos estructurar un proyecto siguiendo la guía de Clean Architecture?
¿Podemos estructurar un proyecto siguiendo Clean Architecture? - Sí -
Separation of concerns (separación de intereses) - Testing - El dominio como el centro de todo
Frameworks and drivers Interface Adapters Business Rules (Interactors) Domain Logic
UI Data sources ViewModel Repository Use Cases Entities
Frameworks and drivers Interface Adapters Business Rules (Interactors) Domain Logic
UI Data sources ViewModel Repository Use Cases Entities Dependency rule
Frameworks and drivers Interface Adapters Business Rules (Interactors) Domain Logic
UI Data sources ViewModel Repository Use Cases Entities Data flow
Presentation Domain Data - Compose - View-based system (XML) -
UI Components (Activities, Fragments, Composables, etc) - Notifications - ViewModels Modules
Presentation Domain Data - Compose - View-based system (XML) -
UI Components (Activities, Fragments, Composables, etc) - Notifications - ViewModels Modules - Room - Networking library (Retrofit, Ktor, Volley, etc) - SQLite - ContentProviders - Firebase - SharedPreferences
:Presentation :Domain :Data - Compose - View-based system (XML) -
UI Components (Activities, Fragments, Composables, etc) - Notifications - ViewModels Modules - Room - Networking library (Retrofit, Ktor, Volley, etc) - SQLite - ContentProviders - Firebase - SharedPreferences - Datasources - Repository implementations - UseCases / Interactor - Entities - Repository abstraction
Presentation Domain Data
Presentation Domain Data Abstraction (Interface) Concrete implementation (Class)
Show me the code…
Nos vemos en la próxima! @DevPicon