laimejesus / aterrizar.com Goto Github PK
View Code? Open in Web Editor NEWThis project forked from luper92/aterrizar.com
This project forked from luper92/aterrizar.com
El BuscadorDeVuelos tiene toda la pinta de un servicio.
Por ejemplo con este orden:
La forma que lo usan en el test es: ordenPorDuracion.porMenorOrden
Pero que pasa si se hace dos veces esa linea:
ordenPorDuracion.porMenorOrden
ordenPorDuracion.porMenorOrden
La query que se genera quedaria: vuelos.duracionDeVuelo asp asc
Y eso no esta bueno.
Lo que se podría hacer es tener una tipo de orden, ASC y DESC. Entonces cuando vos le decis ordenPorDuracion.porMenorOrden
se setea el tipo ASC y cuando le mandan el mensaje getOrdenadoPor
ahi devuelve la query + el tipo
Se entiende?
Hay varios métodos muuuy parecidos:
getSession
, persistir
, actualizar
, borrar
, campos
, etc.
Eso lo habíamos hablado en clase. La idea es patearle la responsabilidad de asignar los ids al motor de la base de datos. La solución que hicieron tiene un problema gravísimo, por ejemplo, el contador de ids es volátil y vive en memoria, cada vez que instancias el servicio el contador empieza en 1. Si los datos fuesen persistentes a lo largo del tiempo (no como en sus test que se borran) tendrían un conflicto zarpado con los ids.
Tienen este código:
Las validaciones están bien, pero no lo que no esta bien es la forma en la que se realizan.
Si tenes que validar que un vuelo pertenezca a una aerolínea, no podría ser una responsabilidad de la aerolínea?
Lo mismo va para los vuelos-tramos, tramos-asientos.
Podrias tener una validación en cascada.. por ejemplo:
(Aunque no compila, pero podría ser una buena forma de delegar las validaciones a los objeto de dominio )
Por mapeos que están mal, hibernate no levanta y ningún test corre.
Tienen que crear un script con la creación del schema de la base de datos. Porque? Porque si quiero correr sus test, necesito tener las tablas creadas y al no tener el script tengo que ver que tablas usan en su proyecto y con que columnas, etc. Entonces no esta bueno eso.
Creen el script y lo adjuntan en el proyecto. Un buen lugar para el archivo es dentro del directorio "src/main/resources", que es el lugar por convención de maven para adjuntar recursos externos al código. También dentro de el pueden categorizar los archivos, por ejemplo "src/main/resources/db/createSchema.sql"
Todos los tests del RecorderServiceTest fallan.
Esto es muy grave. No esta bueno que entreguen algo que no compila.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.