Hello there - I'm Tomas 👋
- 🔭 I’m currently working as a Software Engineer.
- 🌱 I’m currently learning Machine Learning 😄
- ⚡ Fun fact: I love Arctic Monkeys, my favourite song is Big Ideas.
Systems Designs
License: MIT License
¡Buenas!
Te dejo nuestros comentarios:
tipo
ya sabe su categoría, ¿para qué permitir crear prendas con categorías? Esto no sólamente agrega complejidad innecesaria, sino que abre la puerta a inconsistencias que luego tendrás que validar a mano, cuando estructuralmente tus clases ya prevenían estas situaciones. Te propogo quitar la relación Prenda
➡️ Categoria
Tipo
a TipoPrenda
dds/01-lecture/quemepongo/src/main/java/quemepongo/Prenda.java
Lines 58 to 62 in a6514ee
dds/01-lecture/quemepongo/src/main/java/quemepongo/Prenda.java
Lines 64 to 78 in a6514ee
null
al pasarlo por parámetro en el constructor, sino sólo que no se pueda modificar una vez asignado. Por lo tanto tu constructor es un buen lugar para aplicar el principio de fail fast e introducir validaciones de presencia (por ejemplo usando Objects.notNull) dado que es algo en que se hace cierto hincapié en el enunciado al decir que las prendas deben ser válidas y que tenés un color obligatorio y otro secundario opcional.¡Saludos!
Buenas! Te dejo algunos comentarios sobre la entrega QMP4.
assert
está teniendo poco sentido porque en realidad en todos los casos (excepto los de error) queremos que no arroje excepción un método. No estamos verificando que funcione bien. Una opción es testear lo que devuelve ese método contra lo que esperás que devuelva, de esa forma si tenemos algún error en la lógica nos vamos a enterar.AccuWeatherAPI
es parte de un SDK cuyo código no podemos modificar, por lo cual no podemos hacer que implemente ClimaService
. Como vimos en clase, sí podemos envolverlo y adaptarlo para que devuelva lo que le sirva al dominio.service
. Como vimos en clase, un service
puede ser literalmente cualquier cosa. Veo que estás usando la palabra service
como nombres de packages en Java. Qué clases queremos agrupar bajo este concepto? Es muy vago y amplio y termina siendo una bolsa de gatos. Una opción es hacer packages que representen funcionalides de dominio.Clima
... a qué funcionalidad responde del enunciado? Esto generó un sobrediseño, una complejidad accidental que no esperábamos para este ejercicio.Pronostico
? No tiene ningún comportamiento. Para evitar esto, podemos tener como atributo ClimaService
donde lo vayamos a utilizar.Saludos!
¡Hola Tomás!
Te dejo algunos comentarios relacionados al ejercicio de Macowins:
nroDeVenta
) sino que nos vamos a enfocar exclusivamente en el modelado del dominio a nivel objetosmodificar
para el precio, liquidar
para una prenda o vender
para una venta.ModificadorDePrecio
que podría ser parte del mismo estado de la prenda) y hay otras que no tienen tanta cohesión y podrían ser delegadas a otros objetos (como la lógica de los descuentos que en realidad no aplican a todas las prendas si no solo a algunas de ellas o el método de pago que no está reificado sino que también es responsabilidad de la prenda, lo cual hace que el código sea más difícil de entender, testear y menos flexible)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.