170 похожих чатов

Познаю сейчас этот подход и появился вопрос: может ли поле

у value object ссылаться на другой value object? Не является ли это недопустимой зависимостью, которая обязательно завязывает существование одного value object на существование другого value object?

15 ответов

16 просмотров

это нормально. здесь нет никаких нарушений. это же внутри домена

“Тактические” паттерны DDD гавно, главное то, что во второй части книжки. VO это обычный иммутабельный объект/структурка, сравнивается по значениям. Больше по сути ничего оно не несет. Если знакомы с ФП - то будет понятно о чем это и какие преимущества имеет

Alexey- Автор вопроса

Вы про big blue book?

Да, Эванса. Он сам говорил, что поменял бы части местами

Да, может, тогда ещё надо смотреть как ты будешь проверять equality по имплементации :)

типа DDD — в первую очередь, про общение внутри команды и с заказчиком?

Да и прочие принципы из второй части книжки

Alexey- Автор вопроса

Насколько я понимаю идеи DDD со времен big blue book эволюционировали в каком-то плане. Есть ли что-то свеженькое почитать, чтобы полирнуть?

Не особо - красная книга мне не оч зашла. Лучше просто почитать blue book, просто не зацикливаться на конкретике и первой части. Ибо в ddd речь больше про процесс, а не про конкретную реализацию

Alexey- Автор вопроса

Спасибо за совет 🙂

из свежего только "чистая архитектура" дяди боба

Alexey- Автор вопроса

Ну чистая архитектура не про DDD. Для меня она уже как библия. Как раз таки заинтересовала сущность VO, которая не описывается в чистой архитектуре, так как там самая низкоуровневая сущность это entity

дядя боб вообще не приводит примеров реализации. я думаю его entity включают VO

ddd все же не про реализацию. И это вообще скорее про уровень тимлида. Ибо это про больше про выстраивание процессов, чем про написание кода.

Лучше попробовать тогда другие ЯП. Какой-нить haskell - будет больше пользы, с точки зрения расширения подходов к написанию кода

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта