Проектирование микросервисов
Использую: C#
, .net 9
, EF Core
, DDD
.
Проектирую микросервисы, сейчас описываю домены у всех сервисов, но столкнулся с такой не понятной ситуацией. Допустим, что есть некий API для записок (по факту просто 1 колонка с текстом и id
). Но эта записка может использоваться сразу в нескольких API, например Дома
, Абоненты
.
Стоит ли выделять в некий Domain.Shared
какой-то ValueObject
для Note
(логику преследую такую, чтобы провалидировать в целом значение Id
'а записки перед запросом её наличия в API записок, валидация будет такая: id
должен быть либо null
, либо > 0
)? Если стоит выделять в Shared такой VO, то как его назвать (NoteId
, NoteReference
, NoteLink
, etc.)? Если не стоит, то почему и как обойти этот момент (дублировать в 5-10 сервисах if (note is > 0)
как-то не хочется)?
Так же еще интересен момент с VO для, например, комнаты в Доме. Каждая комната должна иметь дом (они в одном домене), то как описать VO для дома? Просто с Id
? Но как быть с навигационным свойством на сам дом?