Хорошо, я передумал. В последнее время я пытался разобраться с ВО, и после просмотра этого http://www.infoq.com/presentations/Value-Objects-Dan-Bergh-Johnsson он прояснил для меня пару вещей.
Команды и Событие являются сообщениями (а не объектами, объекты - это данные + поведение), в некоторых отношениях во многом подобно DTO, они передают данные о событии и сами по себе не содержат никакого поведения.
Объекты значений совсем не похожи на DTO. Они являются представлением домена и, как правило, богаты поведением, как и все другие представления домена.
Команды и события передают информацию в и из домена соответственно, но сами по себе они не инкапсулируют никакого поведения. С этой точки зрения это кажется неправильным и, возможно, нарушением границ контекста для передачи ВО внутри них.
Перефразируя Орена (хотя он имел в виду nHibernate и WCF) "Не пересылайте свой домен по проводам".
http://ayende.com/Blog/archive/2009/05/14/the-stripper-pattern.aspx
Если вы хотите передать объект значения, тогда я предлагаю передать необходимые атрибуты, необходимые для перестройки VO внутри них.
Оригинальный текст (для потомков):
Если вы спрашиваете, могут ли объекты-значения передаваться моделью домена событиям или передаваться командами, я не вижу большой проблемы с первым, хотя последнее может нарушать некоторые правила совокупности. root является «владельцем» значений.
При этом объект значения представляет такие понятия, как, например, цвет. У вас нет зеленого , у вас зеленый или нет. Кажется, нет ничего плохого в том, что команда, сообщающая вам, что вы зеленеете, передавая это.
Чтение главы из DDD, посвященной шаблону Aggregate Root, довольно хорошо объясняет сущности и объекты-значения и стоит прочитать несколько раз.