Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Analicemos el código anterior, como punto principal vemos que funciona, pero
nuestro controlador crea y depende directamente de la instancia de la clase
AlbumesService, las dependencias de código son problemáticas y deben evitarse,
¿por qué? supongamos que queremos reemplazar la implementación de
AlbumesService, debería modificar el controlador también y esto en un proyecto
grande representa problemas porque puede que olvide modificar diferentes
controladores que utilicen el mismo servicio y el funcionamiento del sistema seria
inconsistente. Un problema más en este código podría ser que si AlbumesService
tuviera alguna dependencia esta debe ser configurada en el controlador o clase que
utilice el servicio de Albumes. Por otra parte, esta implementación como se
encuentra en este momento dificultaría la realización de pruebas unitarias debido a
que sería difícil probar componentes que no están desacoplados y no hay manera
de pasarle un servicio fake porque se está utilizando el servicio de forma explícita
como una instancia directa.