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
68
Gemini in Android Studio
devpicon
0
2.8k
Scalable Depency Management with Version Catalog
devpicon
0
69
StateFlow y SharedFlow ¿el fin de LiveData?
devpicon
0
330
Introdução ao Kotlin Flow
devpicon
0
140
Introducción a Kotlin Flow
devpicon
0
150
Introduction to Kotlin Flow
devpicon
0
280
Coroutines on the way!
devpicon
0
93
The Journey to Reach a Good Architecture
devpicon
0
200
Other Decks in Programming
See All in Programming
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
330
その節約、円になってますか?
isamumumu
1
680
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
480
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
170
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
200
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
550
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
140
AIが無かった頃の素敵な出会いの話
codmoninc
1
380
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.7k
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
570
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
510
Side Projects
sachag
455
43k
Accessibility Awareness
sabderemane
1
170
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
Embracing the Ebb and Flow
colly
88
5.1k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
For a Future-Friendly Web
brad_frost
183
10k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Balancing Empowerment & Direction
lara
6
1.2k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.7k
The Pragmatic Product Professional
lauravandoore
37
7.4k
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