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
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
70
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
160
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 Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
290
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
400
[PyCon KR 2026] More Variants, More Diversity for AI Accelerators
achimnol
0
110
FastAPI の並行処理モデルを完全に理解する
hoto17296
8
3k
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
160
Android CLI
fornewid
0
240
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
600
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
620
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
580
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
400
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
810
The SEO identity crisis: Don't let AI make you average
varn
0
540
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
220
Raft: Consensus for Rubyists
vanstee
141
7.6k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
690
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Fireside Chat
paigeccino
42
4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
390
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
360
Darren the Foodie - Storyboard
khoart
PRO
3
3.7k
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