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
74
Gemini in Android Studio
devpicon
0
2.9k
Scalable Depency Management with Version Catalog
devpicon
0
73
StateFlow y SharedFlow ¿el fin de LiveData?
devpicon
0
350
Introdução ao Kotlin Flow
devpicon
0
150
Introducción a Kotlin Flow
devpicon
0
180
Introduction to Kotlin Flow
devpicon
0
290
Coroutines on the way!
devpicon
0
100
The Journey to Reach a Good Architecture
devpicon
0
210
Other Decks in Programming
See All in Programming
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
110
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
310
Inertia Rails: The One-Person Framework with React & Friends
skryukov
0
130
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
130
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
1.4k
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
200
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
1.2k
Vue Fes Japan の “作る側”に関わってみて
naokihaba
1
190
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
180
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
Kotlinの15年とServer-Side Kotlin
n_takehata
1
170
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
220
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Building Adaptive Systems
keathley
44
3.3k
Raft: Consensus for Rubyists
vanstee
143
7.8k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
290
The untapped power of vector embeddings
frankvandijk
2
2k
Designing Experiences People Love
moore
143
24k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Optimizing for Happiness
mojombo
378
71k
How to Talk to Developers About Accessibility
jct
2
590
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Side Projects
sachag
456
43k
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