design-patterns - por - implementing domain-driven design pdf
Pregunta de diseño impulsado por el dominio (2)
La forma en que manejaría esto es tener Competencias, Participantes y Registros. Un participante se inscribiría en una competencia y crearía un registro. Un registro consistiría en la identificación de la competencia, la identificación del participante, una bandera que indica si la tarifa se pagó o no, y cualquier otro dato específico del registro (como la fecha de registro). Esto se modelaría en la base de datos como una "tabla de unión" (con los datos adicionales). En el lado de la aplicación, un participante tendría una lista de registros, cada registro tendría un participante asociado y una competencia. Del mismo modo, cada competencia tendría una lista de registros.
Me gustaría pedir una solución recomendada para esto: tenemos una lista de competiciones. Cada competencia tiene una tarifa definida que un participante tiene que pagar. Tenemos participantes que debo saber si un participante que está en una competencia pagó la tarifa o no. Estoy pensando en 2 soluciones y es que tiene que ser la solución más adecuada en Domain Driven Design. Primero es crear un diccionario en competencia en lugar de una lista, el diccionario sería del tipo <Participante, bool>. El segundo es quizás crear una clase diferente que tenga 2 campos, un participante y feePaid. Y en Competiton tendría una lista de objetos de esa nueva clase.
Gracias
suena como una relación típica de muchos a muchos. lo modelaría con una clase de asociación de entrada de la siguiente manera:
class Participator {
}
class Competition {
Currency fee
}
class Entry {
Competition competition
Participator participator
Boolean feePaid
}