Как правильно сделать архитектуру?

Всем привет! У меня есть мероприятия. Мероприятия могут быть:
1. Разного типа: батлы, мастер-классы, курсы и.т.д.
2. Проводится в разных местах и на разных площадках.
3. Разные периоды.

Одно мероприятие может включать в себя разные типы, несколько мест и площадок в них и при этом могут проводиться с периодичностью. Однако все это может быть и разово. У меня получилось примерно такая схема 5ea4219ca8632675063021.png Полная схема тут.

Какие у меня вопросы. Мне нужно спроектировать как то весь доменный слой. Пока что у меня каша в голове. Возникает куча вопросов. Доменный слой шире, но пока что вопросы только в этой области. Вопросы:
1. Как мне нужно спроектировать домен афиши? Какие сущности примерно должны быть?
2. Как у одного мероприятия сделать вложенные мероприятия? Например, мероприятие "Конкурсанты России" может проходить 5 лет подряд, а в год проводиться по 2 раза, иметь 2 места проведения на каждой из них 3 площадки.
3. Вопрос немного из другого контекста. Мне нужно иметь связь с другим контекстом "Геолокация", а именно с городами. Достаточно ли будет запоминать только ID города в контексте мероприятия. Или же нужно создавать сущность города в самом контексте?
4. Так как мероприятия на английский - Event. Так как в коде Event-ами называются ещё и события, то я подумал об альтернативном названии Contest. Contest все таки какой-то тип мероприятия, нежели событие. Правильно ли использовать такое название? Или же оставить Event?

Если вопрос выходит за рамки вопроса и переносится в раздел "Задача", то буду рад выслушать ваши предложения.
  • Вопрос задан
  • 450 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы