VO, нужно ли обобщать?

Обсуждаем, как правильно строить приложения
Ответить
Bio man
Сообщения: 609
Зарегистрирован: 2013.07.22, 10:40

VO, нужно ли обобщать?

Сообщение Bio man » 2018.02.04, 14:49

Подскажите такой момент.
Как происходит на практике работа с VO, следует ли общие по смыслу VO выносить за пределы сущности или контекста?
Например, VO Email может быть не только у юзера, так нужно ли его вынести, или все-же оставить у юзера, а для другой сущности создать собственный VO?

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: VO, нужно ли обобщать?

Сообщение zelenin » 2018.02.04, 15:00

можно, нужно выносить.

Bio man
Сообщения: 609
Зарегистрирован: 2013.07.22, 10:40

Re: VO, нужно ли обобщать?

Сообщение Bio man » 2018.02.04, 16:02

А в доменные события лучше передавать VO вместо сущности?
Например, событие Created, передать туда ID или саму сущность?

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: VO, нужно ли обобщать?

Сообщение zelenin » 2018.02.04, 17:47

в зависимости от требований - id, изменения либо копию сущности (догадаешься почему копию?).

Bio man
Сообщения: 609
Зарегистрирован: 2013.07.22, 10:40

Re: VO, нужно ли обобщать?

Сообщение Bio man » 2018.02.04, 18:15

Ну собственно, что бы минимизировать побочные эффекты склонялся в сторону передачи VO, но с копией сущности тоже вариант (хотя, могут быть кейсы, когда нужно будет писать свою логику клонирования).
Да что там догадываться. Для того, что бы в обработчики попала нужная версия сущности. Если передавать по ссылке, то, в случае с отложенными событиями, во все обработчики придет последняя версия сущности.

Ответить