@@ -12,13 +12,12 @@ Haber superado los tests del [objetivo anterior](6.CI).
1212
1313## Explicación
1414
15- Todas las aplicaciones en la red tienen que usar una serie de
16- servicios, pero dos de ellos son fundamentales. La configuración
17- (siguiendo los principios
18- [ SOLID] ( https://speakerdeck.com/lemiorhan/it-is-not-solid-anymore?slide=54 )
15+ Todas las aplicaciones en la red tienen que usar una serie de servicios, pero
16+ dos de ellos son fundamentales. La configuración, siguiendo los principios
17+ [ SOLID] ( https://speakerdeck.com/lemiorhan/it-is-not-solid-anymore?slide=54 ) ,
1918debe estar en el entorno, y por lo tanto deben usarse servicios que lo
20- permitan. Y la actividad de una aplicación tiene que ser observable,
21- así que tendrán que registrarla, sea normal o errónea.
19+ permitan. Y la actividad de una aplicación tiene que ser observable, así que
20+ tendrán que registrarla, sea normal o errónea.
2221
2322En el primer caso, la configuración tiene que incluir diferentes
2423posibles niveles de la misma, desde configurar desde línea de órdenes
@@ -43,6 +42,21 @@ aplicación, justificando la elección de los servicios e integrando esta
4342funcionalidad dentro del desarrollo normal de la aplicación, usando issues y
4443también integrándolo en un PMV.
4544
45+ Un concepto fundamental en estos casos de servicios externos es el de * inyección
46+ de dependencias* . Cuando una clase depende de cualquier servicio externo, el
47+ acoplamiento entre una y otra debe ser lo más "suelto" posible, de forma que en
48+ el diseño de la aplicación se pueda cambiar de ese servicio externo simplemente
49+ cambiando la implementación de la clase. En los dos casos, la inyección de
50+ dependencias implica crear un objeto que encapsule la funcionalidad que
51+ necesitamos de los mismos, que será * inyectado* en los objetos de la clase para
52+ que puedan usarlo adecuadamente.
53+
54+ En el caso de los sistemas de * log* , muchos lenguajes lo incorporan ya en su
55+ biblioteca estándar, o incluyen en su biblioteca estándar alguna forma de
56+ configurarlos con diferentes opciones. Siempre, tanto en un caso como en otro,
57+ habrá que llevar a cabo una serie de elecciones sobre las herramientas que se
58+ van a usar, y justificarlo dentro de la documentación de este objetivo.
59+
4660## Información adicional
4761
4862Del [ curso 0] ( https://jj.github.io/curso-tdd ) se puede consultar el
0 commit comments