Cómo solucionar esto? (pregunta sobre arquitectura y diseño)

26/06/2005 - 11:36 por Edgardo Rossetto | Informe spam
Hola:

Estoy buscando una solución simple y elegante a un pequeño gran problema
de diseño de mi aplicación, básicamente tengo una objeto (jugador de
fútbol), con muchas propiedades (digamos por ejemplo, una calificacion
de 1 a 10 con la evaluación de la actuación de ese jugador en el último
partido), actualmente estoy guardando cada instancia de de ese objeto
semanalmente (cada partido), el problema con el que me encuentro es el
de buscar ua forma de poder comnparar esas propiedades entre semanas
(solo necesito comparar el mismo jugador en un rango de tiempo), hasta
ahora lo mejor que se me ha ocurrido es crear un atributo personalizado
(custom attribute) y agregarlo a las propiedades que quiero comparar, y
usar reflection para hacer los cálculos, pero no estoy muy seguro.

Alguien conoce alguna técnica (artículo, ejemplo, design pattern,
cualquier cosa es bienvenida) para comparar objetos en un rango de tiempo?

Esto se asemeja bastante a otros escenarios más comunes como por ejemplo
calcular la diferencia entre balances de cuentas, es decir, estoy seguro
que alguien ya ha pensado en alguna solución elegante y escalable.

Los valores que estoy comparando son todos enteros.

Gracias,
Edgardo

Preguntas similare

Leer las respuestas

#1 Alfredo Novoa
26/06/2005 - 15:13 | Informe spam
On Sun, 26 Jun 2005 06:36:57 -0300, Edgardo Rossetto
wrote:

Estoy buscando una solución simple y elegante a un pequeño gran problema
de diseño de mi aplicación, básicamente tengo una objeto (jugador de
fútbol), con muchas propiedades (digamos por ejemplo, una calificacion
de 1 a 10 con la evaluación de la actuación de ese jugador en el último
partido)



Querrás decir una clase, o mejor aun: un tipo de datos.

, actualmente estoy guardando cada instancia de de ese objeto



Cada ejemplar de esa clase, o cada valor de ese tipo. Instancia no
significa lo mismo que la palabra inglesa instance. Instancia
significa solicitud o institución u organismo público.

semanalmente (cada partido), el problema con el que me encuentro es el
de buscar ua forma de poder comnparar esas propiedades entre semanas
(solo necesito comparar el mismo jugador en un rango de tiempo), hasta
ahora lo mejor que se me ha ocurrido es crear un atributo personalizado
(custom attribute) y agregarlo a las propiedades que quiero comparar, y
usar reflection para hacer los cálculos, pero no estoy muy seguro.

Alguien conoce alguna técnica (artículo, ejemplo, design pattern,
cualquier cosa es bienvenida) para comparar objetos en un rango de tiempo?



Usa SQL.

Esto se asemeja bastante a otros escenarios más comunes como por ejemplo
calcular la diferencia entre balances de cuentas, es decir, estoy seguro
que alguien ya ha pensado en alguna solución elegante y escalable.



Si, en los años 60 se inventaron los Sistemas de Gestión de Bases de
Datos para resolver este tipo de problemas.


Saludos
Respuesta Responder a este mensaje
#2 Edgardo Rossetto
26/06/2005 - 16:46 | Informe spam
Alfredo Novoa wrote:
Usa SQL.



Primero, gracias por el curso de linguística.

Segundo, los nuevos datos provienen de un archivo XML, y la idea es solo
guardarlos en la db si hay cambios, por lo que necesito comparar dos
*ejemplares* (uno cargado desde un XML y otro desde la db), o se les
ocurre una mejor idea?

Lo que quiero monitorear es si hay cambios.

Saludos
Respuesta Responder a este mensaje
#3 Alfredo Novoa
26/06/2005 - 21:13 | Informe spam
On Sun, 26 Jun 2005 11:46:32 -0300, Edgardo Rossetto
wrote:

Segundo, los nuevos datos provienen de un archivo XML, y la idea es solo
guardarlos en la db si hay cambios, por lo que necesito comparar dos
*ejemplares* (uno cargado desde un XML y otro desde la db), o se les
ocurre una mejor idea?



Puedes guardarlos temporalmente en la base de datos, analizarlos
usando SQL y descartar más tarde los datos que no te interesen.

Desde luego la forma más sencilla de realizar el análisis de datos que
tu quieres es usar SQL. Así es como se calculan las diferencias entre
los balances de cuentas.


Saludos
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida