Este documento habla sobre la arquitectura limpia y sus principios fundamentales. Define la arquitectura como la expresión de la intención del sistema y las decisiones que hubiera sido mejor tomar de forma diferente con el tiempo. Explica que la arquitectura limpia busca ser independiente de frameworks, fácil de probar y de entender, y controlar herramientas externas. Además, describe la regla de dependencia donde los elementos internos no conocen a los externos y sólo dependen hacia adentro.
5. Intento de definición
Arquitectura:
“Son aquellas decisiones que te hubiera
gustado haber tomado de una forma distinta.
Sobre todo a medida que más tiempo has
pasado desarrollando el proyecto”
Arquitectura:
“Es la expresión de la intención, de lo que el
sistema realiza”
7. Propósito
● Ser independiente de frameworks
● Testeable
● Independiente de la UI
● Independiente de la base de datos
● Independiente de cualquier agente externo
8. Dependency Rule
● Los círculos internos son políticas
● Los círculos externos son mecanismos
● Las dependencias de código fuente apuntan
hacia adentro
– Los elementos internos no conocen a los de fuera
– Se puede usar inyección de dependencias
9. ● Entities
– Reglas de negocio transversales
– Business Objects
● Use cases
– Reglas de negocio específicas de la aplicación
● Interface adapters
– Presenters, Controllers, Gateways
● Frameworks y Drivers
– Spring, Android, Web frameworks
10.
11.
12. Pros y Contras
● Contra
– Mucho código
● Interfaces
● DTOs
● Pros
– Fácil de testear
– Fácil de entender
– Control de frameworks y herramientas
13. MVC no es una arquitectura
Es un patrón de Interfaz de Usuario
● Separa las representaciones internas de
información de las formas en que dicha
información es presentada al usuario (y
recibida de éste)