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

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

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

10 ответов

13 просмотров

Использую. Проблем даже назвать не могу, иначе бы не делал. Да, буду, скорее всего, ибо это часть"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 не умеет хранить в ячейках не примитивы

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта