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

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

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

Сообщение Bio man »

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

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

Сообщение zelenin »

можно, нужно выносить.
Bio man
Сообщения: 609
Зарегистрирован: 2013.07.22, 10:40

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

Сообщение Bio man »

А в доменные события лучше передавать VO вместо сущности?
Например, событие Created, передать туда ID или саму сущность?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

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

Сообщение zelenin »

в зависимости от требований - id, изменения либо копию сущности (догадаешься почему копию?).
Bio man
Сообщения: 609
Зарегистрирован: 2013.07.22, 10:40

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

Сообщение Bio man »

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