Юра
Я тут
Maxim Kainov
Anonymous
Все же 17 лет назад писалось. За это время реализации DDD обросли практиками
Юра
Хочу вернуться к одной такой щепетильной теме
Юра
Где в ддд находится бизнес логика
Юра
Я просто не спец по ддд поэтому не знаю реально
Maxim Kainov
В ентити и в сервисах )
Anonymous
Юра
Просто я к чему
Юра
Интересует вопрос который я уже поднимал
Юра
Как организовать транзакционность логики и бд
Юра
Чтобы либо вся логика и все в бд, либо ничего
Maxim Kainov
Anonymous
Логики в бд и не должно быть
Anonymous
Maxim Kainov
Потому что не рич
Какую логику в сервисах, а какую в ентити надо писать?
Anonymous
Анемичная модель не соответствует принципам ООП, потому что нет гарантии что она всегда в legal state, или что-то вроде того
Anonymous
Емнип
Maxim Kainov
Anonymous
Maxim Kainov
Anonymous
Даа?)
Anonymous
Тогда зачем вообще ооп? Го процедурщину, я создал
Maxim Kainov
Maxim Kainov
Вот https://softwareengineering.stackexchange.com/questions/359555/ddd-is-anemic-domain-model-an-antipattern-shoud-we-be-using-rich-domain-model
Anonymous
Maxim Kainov
Выше по ссылке в Java в основном применяют анемичную модель
Anonymous
Ты думаешь, аргументы к авторитету это не логическая ошибка?)
Maxim Kainov
Anonymous
Доброе утро
Maxim Kainov
Maxim Kainov
Anonymous
DDD и SOLID вполне совместимы. Совмещать процедурное программирование и ООП - дурной тон
Maxim Kainov
Anonymous
Anonymous
Anonymous
Anonymous
Maxim Kainov
Fowler and Co come from a monolith system background, in their world an ADM approach would mean a single app with all these separate services instantiated in memory and the OrderDTO being passed around and mutated. This would be far worse than putting the methods on a rich Order model.
But in a distributed system, there are many programs, each only requires a single Order method and runs it on multiple orders, loading each, running the method and then discarding it. It only requires a single Service and a stream of data objects.
atcq (Алексей)
atcq (Алексей)
С с классами - так часто называют с++ код, в котором не раскрыты идеи ооп, а используется только оопшный синтаксис
atcq (Алексей)
в большинстве проектов именно такой подход, чем он радикально отличается от процедурщины - для меня загадка
Maxim Kainov
В общем, у фаулера в коде каша была, и он решил, что единственно верный выход это рич модель
Юра
Юра
Вот тут здравый ответ был
Юра
Правда 2014 год и теперь походу надо переучиваться ментально
Maxim Kainov
Anonymous
Maxim Kainov
Юра
Они в примере доктрин три показали передевать в метод энтити callback
Юра
Правда не сказали как это делать
Maxim Kainov
Maxim Kainov
Юра
https://stackoverflow.com/questions/25515452/sf2-using-a-service-inside-an-entity/25533968#25533968
Maxim Kainov
Если разработчики доктрины порекомендовали что то, это еще ничего не значит )
Anonymous
Maxim Kainov
Ого там ответище, надо будет почитать
Maxim Kainov
Maxim Kainov
Egor
Я просто не в курсе, кто рекомендует отречься от богатых моделей и использовать анемичные?
Anonymous
Никто?)
Maxim Kainov
Anonymous
Egor
Maxim Kainov
Много кто