Capítulo 4. Nuestro primer caso de uso: API de Flask y capa de servicios
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
¡Volvamos a nuestro proyecto de asignaciones! La Figura 4-1 muestra el punto al que llegamos al final del Capítulo 2, que cubría el patrón Repositorio.
Figura 4-1. Antes: dirigimos nuestra aplicación hablando con los repositorios y el modelo de dominio
En este capítulo, discutimos las diferencias entre la lógica de orquestación, la lógica de negocio y el código de interfaz, e introducimos el patrón Capa de Serviciopara que se encargue de orquestar nuestros flujos de trabajo y definir los casos de uso de nuestro sistema.
También hablaremos de las pruebas: al combinar la Capa de Servicio con nuestra abstracción de repositorio sobre la base de datos, podemos escribir pruebas rápidas, no sólo de nuestro modelo de dominio, sino de todo el flujo de trabajo de un caso de uso.
La Figura 4-2 muestra lo que pretendemos: vamos a añadir una API de Flask que hablará con la capa de servicio, que servirá como punto de entrada a nuestro modelo de dominio. Como nuestra capa de servicio depende deAbstractRepository, podemos probarla unitariamente utilizando FakeRepository, pero ejecutar nuestro código de producción utilizando SqlAlchemyRepository.