Lección 03 / 07 · Composición · 15 min
Layers
Una función que necesita configuración o un repositorio puede declarar ese servicio como requisito. Context.Service identifica el contrato; una Layer describe cómo proveerlo. El programa puede conservar su lógica mientras cambiás la implementación que recibe.
Qué vas a aprender
- Reconocer un requisito de servicio.
- Comparar dos implementaciones provistas al mismo programa.
Probalo en el laboratorio
Elegí un caso. Describe muestra su plan didáctico sin ejecutarlo. Run ejecuta el programa con Effect y devuelve su resultado.
Elegí Describe para leer el plan o Run para ejecutarlo.
El resultado va a aparecer acá.
Tu turno
- Describí cada preset y buscá el servicio que consume el programa.
- Ejecutá las variantes provistas por el lab y compará sus resultados.
- Pensá en un servicio de tu aplicación: escribí su contrato y una implementación de prueba sin red.
Comprobá tu razonamiento
¿Layer.succeed inicia una conexión a una base de datos?
Ver explicación
Layer.succeed provee un valor ya disponible. Este lab usa implementaciones en memoria. Una conexión real necesita adquisición y liberación de recursos; no hay que atribuirle ese comportamiento al ejemplo simplificado.