Vous êtes sur la page 1sur 24

CLEAN CODE

PRINCIPIOS
Arquitectura
Un mal ejemplo
Escenarios: dirtybank
Arquitectura
Un ejemplo de arquitectura
limpia
Arquitectura
Caractersticas:
Elementos fcilmente localizables
Retrasamos decisiones
Si cambiamos algo en una parte de esa
arquitectura no afecta al resto
Es fcilmente testable
Arquitectura
Casos de uso
Lo es TODO
Debe exponerse ese uso
No debe mezclarse con UI, BD,
Arquitectura
Posponer decisiones como
SGBD
Frameworks Spring, Hibernate
Apache Tiles, JSP, JSTL,
Bootstrap
React.js
Web/Mvil/
solo son herramientas!
MVC
NO
ES UNA
ARQUITECTURA
Arquitectura
Posponer decisiones
Una buena arquitectura:
Deja opciones abiertas hasta el final
Maximiza el nmero de opciones
disponibles
Arquitectura
El valor del sistema
No debera estar en el UI
El valor est en los casos
Arquitectura
El valor del sistema = Casos de uso
El resto = plugins, detalles
Arquitectura
Primera aproximacin
Arquitectura
Ejemplo. Un caso de uso
Arquitectura
Ejemplo. Un caso de uso
Arquitectura
Particionado

1. Business objects: Entities


2. Use case: Controls/Interactor
3. UI objects: Boundaries
Arquitectura
Particionado
1. Business objects: Entities

Entidades, independientes
de la aplicacin

Representan elementos del


dominio, pero no mapean
exactamente la BD
Arquitectura
Particionado
2. Use case: Controls/Interactor

Son los mtodos especficos de la


aplicacin, los casos de uso
Arquitectura
Particionado
3. UI objects: Boundaries

La frontera entre la arquitectura y el


exterior.
Son mecanismos de entrega
Comunican los casos de uso con:
- El UI
- La BD
Arquitectura
Particionado
Arquitectura
Particionado. Un caso de uso.
Arquitectura
Particionado. Un caso de uso.
Arquitectura
Particionado. Y la BD?
Arquitectura
Consecuencia: aislamiento total
Arquitectura
Consecuencia: aislamiento total
Arquitectura
Un ejemplo: cleanbank
Casos de uso
Identificar al usuario
Sacar los detalles de un usuario y su cuenta
Meter dinero en la cuenta
Sacar dinero de la cuenta

Escenarios: cleanbank

Vous aimerez peut-être aussi