<CodeScouts/>
❝ Ayudamos a los equipos de desarrollo de software a alcanzar la
excelencia técnica, enfocándonos tanto en la calidad y velocidad de
entrega del software como en la mejora y ritmo sostenible del equipo ❞
Clean architecture en frontend
¿Cómo nos alejamos de los frameworks?
Arquitectura de Software
“Una arquitectura es una forma de representar y organizar nuestro software de
tal forma que nos dé ciertos beneficios, generalmente esta organización se
realiza en diferentes capas”
En concreto, todas las aplicaciones que te imagines tienen una determinada
arquitectura, algunas mejores y otras no tanto, pero en resumen la arquitectura
existe en cada aplicación.
Arquitectura de Software
“Las arquitecturas se dividen en capas, cada una representa una
parte clara de nuestra aplicación, por ejemplo en una aplicación
React JS podemos tener diferentes capas, expliquemos algunas de
ellas rápidamente.”
Patrón de arquitectura más usado
Patrón de capas
Subdivisión del programa en diferentes capas que representan una subtarea. Cada
una de estas capas pertenece a un nivel de abstracción diferente. Cada capa está
diseñada para proporcionar un servicio a la siguiente capa de mayor nivel.
Clean architecture
Es un nombre popularizado por Uncle bob, que se basa en la premisa de
estructurar el código en capas contiguas, solo tienen comunicación con las
capas que están inmediatamente a sus lados.
¿Por qué Clean?
● Independiente a frameworks: No depende de ningún framework o
librería.
● Testeable: Las reglas de negocio pueden testearse
independientemente de la UI, base de datos o servicios externos.
● Independiente de la UI: La UI puede cambiarse rápidamente sin
que cambie el resto del sistema.
● Independiente de la Base de Datos: Podrías cambiar tu proveedor
de datos sin afectar las reglas de negocio.
● Independiente de cualquier servicio externo: Las reglas de negocio
no conocen los servicios externos ni dependen de ellos.
Reglas de dependencia
Entities
Use Cases
Interface Adapters
Framework and Drivers
Desde otra perspectiva
¿Como quedaría en frontend?
Cómo definiremos la arquitectura
Con eventos de dominio
Coding…
● Código 🎯
○ [Link]
● Documentación 📑
○ [Link]
¿Cuándo vale la pena? 🙌
● Quieres construir una aplicación White-label
● Tu lógica de negocio es/será utilizada, es más de una tecnología
● Tu aplicación frontend tiene/tendrá un tamaño considerable
● Eres consciente que tu lógica de negocio no va a cambiar
independientemente de tu UI
● No quieres depender de la tecnología/librería de UI
Preguntas
Feedback 👆
¡Gracias!
Damián Pumar
🚀 Tech Coach
📱+34 664 109 973
✉damian@[Link]
🌍 [Link]