¿Cuáles son?
- Dependency rejection: No tener, mantener el código puro
 - Dependency retention: No preocuparse por esto
 - Dependency injection: Pasarlas por constructor a las clases
 - Dependency parametrization: Pasarlas como input a las funciones o métodos
 - Dependency interpretation: Crear un lenguaje de dominio específico e interpretarlo