И снова про DDD
От: scf  
Дата: 01.05.21 06:23
Оценка:
Несколько раз знакомился с этой парадигмой по Эвансу, и каждый раз у меня получался один и тот же вывод — архитектурная астронавтика, неприменимая в реальной жизни.

Кто-нибудь вообще видел достаточно сложный код (в идеале опнсорс), написанный по DDD, с бизнес-логикой в методах доменных объектов?
Re: И снова про DDD
От: varenikAA  
Дата: 01.05.21 09:51
Оценка: -1
Здравствуйте, scf, Вы писали:

scf>Несколько раз знакомился с этой парадигмой по Эвансу, и каждый раз у меня получался один и тот же вывод — архитектурная астронавтика, неприменимая в реальной жизни.


scf>Кто-нибудь вообще видел достаточно сложный код (в идеале опнсорс), написанный по DDD, с бизнес-логикой в методах доменных объектов?


Отличная книжка про ddd https://fsharpforfunandprofit.com/
Но вроде как типы и операции разделять принято.
Была бы возможность делал бы так. Реальный случай. Переделывали бизнес-логику уже готового кода и в результате из-за анемичной модели, где все объекты наследуют интерфейс
IRecord { int Id{get;set;}}

в итоге проект собрался но в отдельных местах сравниваться по Id гайки с болтами.
если же идет к DDD и TDD то реально код становиться самодокументированным, но скорее всего производительность будет ниже.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: И снова про DDD
От: gyraboo  
Дата: 01.05.21 14:45
Оценка:
Здравствуйте, scf, Вы писали:

scf>Несколько раз знакомился с этой парадигмой по Эвансу, и каждый раз у меня получался один и тот же вывод — архитектурная астронавтика, неприменимая в реальной жизни.


scf>Кто-нибудь вообще видел достаточно сложный код (в идеале опнсорс), написанный по DDD, с бизнес-логикой в методах доменных объектов?


Да, некоторые элементы ddd получается внедрять, и они упрощают код и повышают его надежность. Полное внедрение же тяжело, я например в проектах, где работал, встречал только одного спеца по ddd, остальные знали и умели ddd фрагментарно. Поэтому код того спеца никто не мог развивать в той же парадигме. Она и правда сложна для освоения на практике.
Re: И снова про DDD
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.05.21 22:49
Оценка:
Здравствуйте, scf, Вы писали:

scf>Кто-нибудь вообще видел достаточно сложный код (в идеале опнсорс), написанный по DDD, с бизнес-логикой в методах доменных объектов?


Как бы расшифровка термина подсказывает, что DDD — это не о программировании, а о дизайне, т.е. проектировании. Так что увидеть код невозможно в принципе.

Непосредственно к программированию относится domain-specific language, DSL или по нашему — Предметно-ориентированный язык. Последним я много занимался и он используется на практике во многих коммерческих (и не очень) приложениях. Более того его примеры у каждого на глазах. Даже SQL является по сути DSL — языком запросов. А еще есть разные BNF-подобные описания парсеров, языки описания параметров командной строки, языки описания локализаций и т.п.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: И снова про DDD
От: VladD2 Российская Империя www.nemerle.org
Дата: 03.05.21 22:54
Оценка: 9 (1)
Здравствуйте, varenikAA, Вы писали:

AA>в итоге проект собрался но в отдельных местах сравниваться по Id гайки с болтами.


Это проблема типизации. Введи отдельные типы для идентификаторов отдельных случаев и будет тебе счастье. Причем это можно сделать практически на любом языке. Например, Id можно обернуть в структуру. Вот пример из Нитры.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.