Столкнулся с той же проблемой, что и @onets. Вы говорите, что не должно быть деления на DDD-сущности и сущности БД. А как быть, если я использую ORM? К примеру, у меня есть SQLAlchemy-модели в слое infrastructure/db/models, а также есть модели в слое domain/models. И к SQLA-моделям доступ имеют только репозитории. А доменные модели используются для определенной валидации и как прослойка между слоем API и репозиториями с различными сервисами слоя application.
И, кстати, про то, что должен быть объект в качестве параметра не буду спрашивать (ибо нужно простынями проект выкладывать, что не резон), но спрошу, как быть в случае вложенных объектов? К примеру, есть aggregate root Partner, который имеет свойство tariffs [], где каждый tariff в tariffs -- еще один агрегат, но дочерний для Partner (то есть, они в одном контексте находятся). Из-за этого маппинг полей (к примеру, в оркестраторе) для вложенных DTO превращается в настоящий ад с кучей копипаста. В терминологии могу ошибаться, ибо только пытаюсь разобраться. Так вот вопрос: это я накосячил с реализацией и/или пониманием DDD?
Смотря о каком спуске идёт речь. В классическом -- да, подобная проблема имеет место быть (хотя и тут нюансы). Но есть куча его модификаций, которые железно находят минимумы даже в многомерных пространствах со сложнейшей структурой и высокой степенью симметрии. Один из таких примеров видел сам -- мой друг из аспирантуры алгоритм разработал для подобных задач. У него алгоритм -- смесь эволюционного, вероятностного и классического подходов. По итогу CNN, детектящая кожные заболевания, стала обучаться на порядок быстрее, сохранив и даже увеличив относительную точность и метрики типа PR
>Я бы все-таки не стал делать таких резких выводов.
В этом смысле я сам нелюдимый -- на дух не переношу большинство представителей нашего вида. Да и я не про всех до единого говорю, а про подавляющее большинство. Неспроста написал, что общался с этими первашами/вторашами лично, не раз слышал в условном коридоре их темы для обсуждения, да что там, даже в моей группе хватает тех, у кого единственная цель на неделю -- пережить время с ПН по ЧТ, чтоб не отчислили из-за угрозы военкома, а в ПТ, СБ, ВС просто набухаться и в клуб съездить (и я подобное чуть ли не каждый день на переменах слышу). "Люди" не хотят развиваться, к сожалению.
Вот-вот. Сейчас сам учусь на 3 курсе, мат. моделирование. Первые 2 курса учили С++. Так вот на днях сидел на кафедре, нужно было кое-какие работы сдать, очередь ждал, пока преподаватель должников с младших курсов примет. Я, мягко говоря, обомлел, когда услышал и увидел, как второкурсник (напоминаю, ЯПу нас учат целых 3 семестра, а он ещё с направления не мат. моделирования, а программистов, у них курс ещё и углубленный) понятия не имел, какие вообще типы данных бывают в С++, что такое деревья и в чем разница между стат. и динамическим массивом... Поговорил позже с преподом, оказалось, что на 2 курсе в обоих группах почти все студенты с таким уровнем подготовки. Там более-менее понимающих, что происходит, от силы 2-3 оказалось. И все настолько плохо, что преподаватель уже разрешила коды для лабораторных работ у чата гпт запрашивать, чтоб получить заветную тройку "по минималке". А когда я учился на 1 и 2 курсе, "минималка" в себя включала собственноручное написание кода (препод опытный и знающий, код не то что с нейронки, даже слизанный у другого студента, умел отличить), умение объяснить его работу построчно, защита от дурака, построение блок-схемы на листочке, так сказать, в real-time и всякие другие подобные моменты.
Вуз у меня не самый беспонтовый (напротив, самый топовый и известный в регионе), крутых спецов на преподах и зав.`ах кафедр хватает, но... Куда катится этот мир... И если у меня в вузе ТАКИЕ посмешища "учатся" (ей богу, их людьми-то стыдно назвать, общался с такими представителями семейства гоминид, у них неокортекс отсутствует как таковой, а лимбическая система ликует каждый раз, как они достигают биологического успеха и отрываются в клубе), страшно представить, что происходит на различных курсах по вкату в ИТ, и какие "самородки" оттуда выходят. Я бы даже сказал, вылезают...
Столкнулся с той же проблемой, что и @onets. Вы говорите, что не должно быть деления на DDD-сущности и сущности БД.
А как быть, если я использую ORM? К примеру, у меня есть SQLAlchemy-модели в слое infrastructure/db/models, а также есть модели в слое domain/models. И к SQLA-моделям доступ имеют только репозитории. А доменные модели используются для определенной валидации и как прослойка между слоем API и репозиториями с различными сервисами слоя application.
И, кстати, про то, что должен быть объект в качестве параметра не буду спрашивать (ибо нужно простынями проект выкладывать, что не резон), но спрошу, как быть в случае вложенных объектов?
К примеру, есть aggregate root Partner, который имеет свойство tariffs [], где каждый tariff в tariffs -- еще один агрегат, но дочерний для Partner (то есть, они в одном контексте находятся). Из-за этого маппинг полей (к примеру, в оркестраторе) для вложенных DTO превращается в настоящий ад с кучей копипаста. В терминологии могу ошибаться, ибо только пытаюсь разобраться.
Так вот вопрос: это я накосячил с реализацией и/или пониманием DDD?
Смотря о каком спуске идёт речь. В классическом -- да, подобная проблема имеет место быть (хотя и тут нюансы). Но есть куча его модификаций, которые железно находят минимумы даже в многомерных пространствах со сложнейшей структурой и высокой степенью симметрии. Один из таких примеров видел сам -- мой друг из аспирантуры алгоритм разработал для подобных задач. У него алгоритм -- смесь эволюционного, вероятностного и классического подходов. По итогу CNN, детектящая кожные заболевания, стала обучаться на порядок быстрее, сохранив и даже увеличив относительную точность и метрики типа PR
>Я бы все-таки не стал делать таких резких выводов.
В этом смысле я сам нелюдимый -- на дух не переношу большинство представителей нашего вида. Да и я не про всех до единого говорю, а про подавляющее большинство. Неспроста написал, что общался с этими первашами/вторашами лично, не раз слышал в условном коридоре их темы для обсуждения, да что там, даже в моей группе хватает тех, у кого единственная цель на неделю -- пережить время с ПН по ЧТ, чтоб не отчислили из-за угрозы военкома, а в ПТ, СБ, ВС просто набухаться и в клуб съездить (и я подобное чуть ли не каждый день на переменах слышу). "Люди" не хотят развиваться, к сожалению.
Вот-вот. Сейчас сам учусь на 3 курсе, мат. моделирование. Первые 2 курса учили С++. Так вот на днях сидел на кафедре, нужно было кое-какие работы сдать, очередь ждал, пока преподаватель должников с младших курсов примет. Я, мягко говоря, обомлел, когда услышал и увидел, как второкурсник (напоминаю, ЯПу нас учат целых 3 семестра, а он ещё с направления не мат. моделирования, а программистов, у них курс ещё и углубленный) понятия не имел, какие вообще типы данных бывают в С++, что такое деревья и в чем разница между стат. и динамическим массивом... Поговорил позже с преподом, оказалось, что на 2 курсе в обоих группах почти все студенты с таким уровнем подготовки. Там более-менее понимающих, что происходит, от силы 2-3 оказалось. И все настолько плохо, что преподаватель уже разрешила коды для лабораторных работ у чата гпт запрашивать, чтоб получить заветную тройку "по минималке". А когда я учился на 1 и 2 курсе, "минималка" в себя включала собственноручное написание кода (препод опытный и знающий, код не то что с нейронки, даже слизанный у другого студента, умел отличить), умение объяснить его работу построчно, защита от дурака, построение блок-схемы на листочке, так сказать, в real-time и всякие другие подобные моменты.
Вуз у меня не самый беспонтовый (напротив, самый топовый и известный в регионе), крутых спецов на преподах и зав.`ах кафедр хватает, но... Куда катится этот мир... И если у меня в вузе ТАКИЕ посмешища "учатся" (ей богу, их людьми-то стыдно назвать, общался с такими представителями семейства гоминид, у них неокортекс отсутствует как таковой, а лимбическая система ликует каждый раз, как они достигают биологического успеха и отрываются в клубе), страшно представить, что происходит на различных курсах по вкату в ИТ, и какие "самородки" оттуда выходят. Я бы даже сказал, вылезают...
Очевидно, тривиально, заметим, видно... Спасибо, что автор доказательство читателю в качестве лёгкого упражнения не оставил....