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

Господа, кто угарает по DDD, расскажите, вы используете ValueObjects вместо

примитивов? Как далеко вы заходите с тем, чтобы все примитивы заменять на VO? Например, будете ли вы оборачивать оценку студента в StudentMark, чтобы он был от нуля до пяти? Какие проблемы возникают с этим подходом в реальных проектах? Как вы сочетаете ValueObjects и хранение в SQL БД?

10 ответов

12 просмотров

Использую. Проблем даже назвать не могу, иначе бы не делал. Да, буду, скорее всего, ибо это часть"ubiquitous language". Хранение в бд зависит от того как маппишь объекты.

Nikolajs-Djačenko Автор вопроса
Artur
Использую. Проблем даже назвать не могу, иначе бы ...

Мне просто импонирует сама идея, потому что такой код легко читать, но не могу понять как быть в пограничных случаях. Например, есть условные работники фирмы и у них есть конечное число должностей - стоит ли использовать енум или VO с набором констант? Или вот например статистика работника, в которой есть строго 0 или положительные показатели - стоит ли это оборачивать в некий StatisticalNumber? Мне вот пока тяжело понять насколько фанатично стоит заменять все примитивы на соответствующие VO.

Nikolajs Djačenko
Мне просто импонирует сама идея, потому что такой ...

Ну должность наверное это все же сущность, а не vo.

Nikolajs-Djačenko Автор вопроса
Artur
Ну должность наверное это все же сущность, а не vo...

А вот почему? Две должности с разными референсами всегда равны между собой

Nikolajs-Djačenko Автор вопроса
Artur
Почему?

Ну вот вы хотите проверить равны ли в должности двух работников :)) Референсы разные, а должности равны. Ну или вот другой пример - позиция игрока в команде. Нападающий, защитник, вратарь. Позиция тоже скорее сущностью? Если да, то почему?

Nikolajs Djačenko
Ну вот вы хотите проверить равны ли в должности дв...

Ну почему это всё-таки энтити для меня : должность это не только название, а скорее всего ещё и ставка за час, возможно и прочее. Если я захочу проверить равны ли по должности они - я спрошу у пользователя, равна ли должность ему. Возможно эту проверку все надо сместить в должность, тут сейчас не скажу точно. Я же сравниваю не референсы, а идентификаторы ролей У нас и получается, что пользователь это агрегейт рут, а должность его энтити.

Nikolajs-Djačenko Автор вопроса
Artur
Ну почему это всё-таки энтити для меня : должность...

А если у меня NoSql база и я могу хранить в поле объекта другой объект?) Ну и получается что хранить в должности ставку некорректно, потому что ставка это ставка и нарушает логику равенства двух должностей.

Nikolajs Djačenko
А если у меня NoSql база и я могу хранить в поле о...

А ддд не касается бд, поэтому инфраструктурные проблемы остаются на ваши плечах

Nikolajs-Djačenko Автор вопроса
Artur
А ддд не касается бд, поэтому инфраструктурные про...

Ну так вы же сейчас сами обосновали свой выбор тем, что SQL не умеет хранить в ячейках не примитивы

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта