pro-dev
@pro-dev

Как правильно реализовать bounded context городов?

Давно мучает вопрос правильности реализации городов в проекте различных контекстах. Никак не могу решить для себя, как лучше поступить.

У меня есть различные контексты, которые используют города, регионы, страны. Так же используются адреса.

Если правильно понимаю bounded context, то там говорится о том, что в каждом контексте свои сущности. В моём случае в разных контекстах используется город. Но города синхронизировать в каждом контексте такая себе идея. У меня возникло три варианта решения моей задачи:

1. Вынести города в отдельный ГЕО контекст и в других контекстах использовать только id городах контекста ГЕО. В контекст ГЕО данные будут добавляться из API стороннего сервиса.
2. Поместить в каждый контекст свои города, страны, регионы.
3. Поместить город в сущность, которой он требуется вместо ID города. Но тут вопрос нормализации.

Подскажите, как лучше поступить? Какие есть хорошие практики? Расскажите как сами подходите в подобной ситуации.

Всем спасибо!
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
@DarkTM
Страдаю фигней
По-моему, тут очевидный 1 вариант, выпилить с проекта города в отдельную сущность, со своим api, и отдавать города и адреса.
Во втором и третьем варианте, сразу видится проблема DRY, если в нескольких контекстах повторяются города и методы для них.
Вообще это азы... вроде как... хотя может только и для меня, но если у вас в проекте, что-то повторяется в нескольких местах, то это нужно вынести в отдельную сущность, работать как с отдельным модулем со своим API. Проще написать единое API, для всех городов и обработчик внутри каждого домена которому нужна эта сущность, и дополнять по необходимости, чем реализовывать одно и тоже в каждом.
Ответ написан
Ваш ответ на вопрос

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

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