Проектирую микросервисы, сейчас описываю домены у всех сервисов, но столкнулся с такой не понятной ситуацией. Допустим, что есть некий 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? Но как быть с навигационным свойством на сам дом?