Mejoras en entidades - K3101 - Joseph Mansilla #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Primero, tengo pendiente el patrón adaptar que se puede usar para los mensajes.
Después, dependiendo de qué tan correcta es la solución no sabría muy bien si es correcta la introducción del patrón repositorio para las alertas. Al principio tuve una clase de Alertas con algunas variables y las condiciones de esa Alerta. Luego, decidí eliminar esa clase ya que no era necesaria con la implementación actual.
Para las condicionesAlerta usé el principio open/closed donde tengo una interfaz, que me parece un poco pobre actualmente, que me indicaría lo básico que haría una condición para que se cumpla una Alerta. Además, es posible adjuntar el concepto de segregación de interfaces.
Luego, cambié algunas implementaciones de Alerta Service para que sea posible generalizarlo más. Por ejemplo, imprimir la descripción de un clima no debería responsabilidad del service de alerta. Entonces, ahí se aplica una abstracción para respetar el principio de responsabilidad.
En resumen, el dominio base se expandió agregando condiciones para alertas usado por el service de alertas en base a los climas pasados. Por lo que, Fue posible abstraer partes de este service para respetar los principios SOLID y habilitar a la posibilidad de más casos de condiciones para alertas en futuras iteraciones.