Вопрос по дизайну, управляемому доменом - PullRequest
4 голосов
/ 10 января 2009

Я хотел бы попросить рекомендованное решение для этого: У нас есть список соревнований. Каждый конкурс имеет определенную плату, которую должен заплатить участник У нас есть участники Я должен знать, что участник, участвующий в конкурсе, заплатил взнос или нет. Я думаю о двух решениях, и дело в том, что это должно быть самое подходящее решение в домене. Сначала нужно создать словарь в конкурсе вместо списка, словарь будет иметь тип . Второй, возможно, создать другой класс, который имеет 2 поля, участника и feePaid. А в Competiton у меня был бы список объектов этого нового класса.

Спасибо

Ответы [ 2 ]

6 голосов
/ 10 января 2009

звучит как типичное отношение многих ко многим. я бы смоделировал это с классом ассоциации Entry следующим образом:

class Participator {
}
class Competition {
    Currency fee
}
class Entry {
    Competition competition
    Participator participator
    Boolean feePaid
}
5 голосов
/ 10 января 2009

То, как я справлюсь с этим, - это соревнования, участники и регистрации. Участник регистрируется на Конкурс, создавая Регистрацию. Регистрация будет состоять из идентификатора соревнования, идентификатора участника, флага, указывающего, была ли уплачена пошлина или нет, и любых других данных, относящихся к регистрации (например, дата регистрации). Это будет смоделировано в базе данных как «таблица соединений» (с дополнительными данными). Со стороны приложения у Участника будет список регистраций, каждая регистрация будет иметь ассоциированного участника и соревнование. Аналогично, у каждого соревнования будет список регистраций.

...