¿Cúales son? Reutilización Testeabilidad: cada parte puede ser testeada de forma aislada Entendible: El flujo de datos va solo en una dirección Fácil de mantener: Todas las dependencias son explícitas