0%
Aplicación completa

Aplicación

Ensamblar las siete piezas en un todo coherente.

15-20 min

Aplicación completa

Saber escribir un controlador, un repositorio, un formulario y una regla de seguridad no basta para saber escribir una aplicación. Las piezas por separado son sencillas; es su ensamblaje el que genera las dificultades, porque hace aparecer preguntas que ninguna lección aislada plantea.

¿Dónde colocar la regla «no se puede tomar prestada una obra cuyos ejemplares están todos fuera»? ¿En la entidad, que conoce sus ejemplares pero no los préstamos en curso de los demás? ¿En el servicio, que lo ve todo pero entonces mezcla dos responsabilidades? ¿En el controlador, que no tiene nada que hacer ahí? La elección tiene consecuencias duraderas: si la regla está mal ubicada, se eludirá el día en que la API realice la misma operación sin pasar por el mismo camino.

Otra pregunta que solo aparece al ensamblar: una operación que afecta a dos entidades —decrementar la disponibilidad y crear el préstamo— debe tener éxito o fallar en bloque. Si la frontera transaccional está en el lugar equivocado, la aplicación producirá de vez en cuando estados incoherentes que nadie sabrá reproducir.

Comentarios

Los comentarios funcionan con GitHub Discussions

Inicia sesión con GitHub para participar en la discusión

¡Enlace copiado!