powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / DDD разнесение кода логики по классам
25 сообщений из 169, страница 1 из 7
DDD разнесение кода логики по классам
    #39910070
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то не интуитивно, часть логики в корне агрегации, часть не там?
А как там разруливается, например, что есть уже такой агрегат? Уникальность в БД. Где это должно быть?
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910078
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach,

логики агрегатах быть не должно. ни в корне, ни в сущностях.
уникальность DDD не поддерживает, она описывается отдельно, вариантов масса.
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910081
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
love_bach,

логики агрегатах быть не должно. ни в корне, ни в сущностях.
уникальность DDD не поддерживает, она описывается отдельно, вариантов масса.

Насчёт первого - поясни. Также даже методы предполагаются
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910082
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
love_bach,

DDD не описывает где вам хранить вашу логику
но для DDD лучше всего подходит паттерн CQRS

вы конечно можете логику разместить в классах, которые моделируют сущности и агрегаты
практика показывает, что такой подход неэффективен

используя CQRS, любое изменение производится с помощью команд
с помощью отдельных запросов вы можете вытаскивать проекции данных, но не сами сущности или агрегаты

по сути, единственный способ достать агрегат, это вытащить его по ID
единственный способ создать, изменить или удалить агрегат, это выполнить команду

команда это не любая логика вообще, это конкретно внесение изменений в систему

бизнес-логика при этом размещается в службах и сервисах
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910117
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
love_bach,

DDD не описывает где вам хранить вашу логику
но для DDD лучше всего подходит паттерн CQRS

вы конечно можете логику разместить в классах, которые моделируют сущности и агрегаты
практика показывает, что такой подход неэффективен

используя CQRS, любое изменение производится с помощью команд
с помощью отдельных запросов вы можете вытаскивать проекции данных, но не сами сущности или агрегаты

по сути, единственный способ достать агрегат, это вытащить его по ID
единственный способ создать, изменить или удалить агрегат, это выполнить команду

команда это не любая логика вообще, это конкретно внесение изменений в систему

бизнес-логика при этом размещается в службах и сервисах


спасибо!
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910374
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

DDD не описывает где вам хранить вашу логику
но для DDD лучше всего подходит паттерн CQRS

вы конечно можете логику разместить в классах, которые моделируют сущности и агрегаты
практика показывает, что такой подход неэффективен

используя CQRS, любое изменение производится с помощью команд
с помощью отдельных запросов вы можете вытаскивать проекции данных, но не сами сущности или агрегаты

по сути, единственный способ достать агрегат, это вытащить его по ID
единственный способ создать, изменить или удалить агрегат, это выполнить команду

команда это не любая логика вообще, это конкретно внесение изменений в систему

бизнес-логика при этом размещается в службах и сервисах

очередной поток сознания от местного "эксперда", нагугленные умные слова сваленные в кучу без малейшей попытки осмысления и опыта практического использования
CQRS напрямую к DDD вообще не относится, это разные вещи и идея использовать CQRS только потому, что используется DDD может родится только в воспаленном гуглом уме. CQRS нужен когда модели для чтения начинают разнится с моделями для изменения, также изоляция чтения позволяет маштабировать ее независимо от записи и прочее, все это обусловлено требованиями к конкретной системе, а никак не использованием DDD
А бизнес-логика в классическом DDD как раз расположена в сущностях, вынесение ее в отдельные классы сервисов будет уже называться анемичной моделью и не являтся DDD как таковой. "Практика" у него показывает что это неэффективно Для фриланс интернет-магазина по продаже валенок или студенческого проекта - возможно, а в коммерческих проектах люди сначала анализируют требования к системе, а уже потом принимают решения

love_bachКак-то не интуитивно, часть логики в корне агрегации, часть не там?
А как там разруливается, например, что есть уже такой агрегат? Уникальность в БД. Где это должно быть?

за уникальность отвечает владелец данных (т.е. база), к функциям DDD это не относится
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910376
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford
А бизнес-логика в классическом DDD как раз расположена в сущностях


Пруф будет?
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910377
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford
"Практика" у него показывает что это неэффективно
Для фриланс интернет-магазина по продаже валенок или студенческого проекта - возможно, а в коммерческих проектах люди сначала анализируют требования к системе, а уже потом принимают решения


Я понимаю, что у вас щас возраст такой, прыщи лезут и мысли всякие неумные, напыщенность как деревенского петуха и упёртость как у быка.

Поэтому не обижаюсь, пруф только дайте на ваше интересное утверждение.
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910378
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кому действительно интересно как используется CQRS вместе с DDD, можете ознакомиться со следующими материалами:

Применение в микрослужбе упрощенных шаблонов CQRS и DDD

Сайт, посвящённый этой теме

Довольно активный форум


От себя же, не рекомендую делать вот так:

stenford
А бизнес-логика в классическом DDD как раз расположена в сущностях, вынесение ее в отдельные классы сервисов будет уже называться анемичной моделью и не являтся DDD как таковой.


Потому что даже такое поделие, как

stenford
фриланс интернет-магазина по продаже валенок или студенческого проекта


обойдётся вам дорого, либо это будет лишь наивным намёком на то, что авторы пытались в DDD, но не коня корм.

Но этого хватает, как видно, чтобы включить гонор на все 146%
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910379
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вспомнил ещё есть интересная статья на эту тему, нашёл перевод на хабре Анемичная модель предметной области — не анти-шаблон, а архитектура по принципам SOLID

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

Что вообще-то нисколько не умаляет и не противоречит ООП. Просто его понимали и готовили неправильно.

Основная и ключевая ошибка состоит в том, что под Объектами в ООП понимались объекты реального мира. Откройте любую книжку времён 2000-х. Там обязательно будут примеры с животными или геометрическими фигурами. Но ООП это не про реальный мир. Он для этого вообще не подходит. Совершенно.

Соответственно, пытаться инкапсулировать предметную область сущности/агрегата в одном месте (в классе) -- это неправильно. Более того, это очень плохо, и ведёт к печальным последствиям.

Сегодня подобный подход можно приравнять к говнокоду. Потому что нарушает SOLID, плохо тестируется, таки получает прямую зависимость не только от способа хранения, но и самих языковых средств.

Называть модель предметной области анемичной в сущности неправильно. Никакой анемии нет, логики много, она часто меняется, и не редко пересекает Bounded Context, -- ну вот такой он суровый реальный мир.
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910380
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

Пруф будет?


Читай базовую теорию , потом будешь делиться опытом своего интернет магазина по продаже валенок
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910381
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford
hVostt

Пруф будет?


Читай базовую теорию , потом будешь делиться опытом своего интернет магазина по продаже валенок


и где тут пруф-то?
дядька написал это в 2003 году, 17 лет назад

собственно, опровержение этой же статьи выше опубликовал, хотя оно не требуется
давно уже очевидно, что рич модель не жизнеспособна, ни в DDD ни в чём-либо ещё
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910382
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Вспомнил ещё есть интересная статья на эту тему, нашёл перевод на хабре Анемичная модель предметной области — не анти-шаблон, а архитектура по принципам SOLID

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

о, гляжу нагугл что такое анемика, целый час тебе на потребовался

hVostt

Что вообще-то нисколько не умаляет и не противоречит ООП. Просто его понимали и готовили неправильно.
Основная и ключевая ошибка состоит в том, что под Объектами в ООП понимались объекты реального мира. Откройте любую книжку времён 2000-х. Там обязательно будут примеры с животными или геометрическими фигурами. Но ООП это не про реальный мир. Он для этого вообще не подходит. Совершенно.

Да, Эрик Эванс и Мартин Фаулер все делали неправильно, а вот млять хвост тут оказывается авторитет в мире ООП
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910383
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford
Да, Эрик Эванс и Мартин Фаулер все делали неправильно, а вот млять хвост тут оказывается авторитет в мире ООП


всё они делают правильно
пишут статьи, исследуют, многие заметки успели устареть

а ты нет, мало того, что несёшь ахинею
так ещё и единственный "пруф" нагуглил, это статья 17-летней давности, в которой автор обижается, что люди не хотят делать DDD, как ему кажется правильно, но не примеров, ни доказательств успешности такого подхода до сих нет
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910384
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

и где тут пруф-то?
дядька написал это в 2003 году, 17 лет назад

собственно, опровержение этой же статьи выше опубликовал, хотя оно не требуется
давно уже очевидно, что рич модель не жизнеспособна, ни в DDD ни в чём-либо ещё

Опровержение? Чей-то бложик?
И мой поинт кстати был совсем не в том, что правильно, а что нет, а в том, что классический ООП именно с рич моделью, если у кого-то не получается его готовить - то так и надо говорить, либо по крайней мере в топике DDD упоминать что следуешь секте анемиков, а не говоришь про DDD как таковое
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910385
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford,

да, кстати, поржал про "базовую теорию"
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910386
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford
Опровержение? Чей-то бложик?

И мой поинт кстати был совсем не в том, что правильно, а что нет, а в том, что классический ООП именно с рич моделью, если у кого-то не получается его готовить - то так и надо говорить, либо по крайней мере в топике DDD упоминать что следуешь секте анемиков, а не говоришь про DDD как таковое


с тобой как с табуреткой разговаривать

какая ещё секта?
разумные мысли от тебя вообще сегодня будут?
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910387
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford
что классический ООП именно с рич моделью


откуда вообще у тебя в голове этот мусор?
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910388
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

да, кстати, поржал про "базовую теорию"

Ясно, того-же Эрика Эванса значит не читал, образование в гугле получил по подобным бложикам, что в принципе прекрасно видно по уровню твоих познаний, и для тех кто в танке повторю - это и есть классический DDD. Анемика родилась примерно в те-же времена, и так никуда и не взлетела за пределами холиваров и форумских дурачков типа тебя, которые вычитав новое слово бросаются его имплементировать в свой магазинчик.
ООП устарело у него
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910389
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford,

Выраженное понятие может родилось. Самой "анемике" ровно столько же, сколько существует разработка ПО вообще. Эрик Эванс где говорил, что логика DDD должно быть выражено в классах сущностей и полностью инкапсулировать там логику? Каким образом вынесение логики в службы противоречит ООП, DDD, Фаулеру или Эвансу?

Мне пока понятно одно, ты пытаешься что-то сказать, но выразить это разумными словами не можешь.
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910390
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford
форумских дурачков типа тебя, которые вычитав новое слово бросаются его имплементировать в свой магазинчик


Видимо у тебя какое-то заболевание. В чём-то разобраться и предметно подискутировать тебе не интересно, основная цель, мелко подобосрать. Зачем тебе это, ребёнок? )
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910391
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

Выраженное понятие может родилось. Самой "анемике" ровно столько же, сколько существует разработка ПО вообще. Эрик Эванс где говорил, что логика DDD должно быть выражено в классах сущностей и полностью инкапсулировать там логику? Каким образом вынесение логики в службы противоречит ООП, DDD, Фаулеру или Эвансу?

ты ссылку которую я дал прочитал вообще? Там текста не так и много, все прекрасно видно кто и что говорил. Переведи в гугле если английский не понимаешь
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910392
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford
ты ссылку которую я дал прочитал вообще? Там текста не так и много, все прекрасно видно кто и что говорил. Переведи в гугле если английский не понимаешь


Я её читал ещё когда ты под стол пешком ходил.

Значит эта статья и есть тот догмат, на котором опирается твой выбор для архитектуры?
Или просто это тупо всё, что ты нагуглил?

Если так, на каком основании из тебя так мощно говно потекло?
Что с тобой не так?
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910393
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

Я её читал ещё когда ты под стол пешком ходил.

Значит эта статья и есть тот догмат, на котором опирается твой выбор для архитектуры?
Или просто это тупо всё, что ты нагуглил?

Если так, на каком основании из тебя так мощно говно потекло?
Что с тобой не так?

ух ну ты и тупой, на твой вопрос "Эрик Эванс где говорил, что логика DDD должно быть выражено в классах сущностей" там есть прямые цитаты от Эванса где это написано, плюс разжевано Фаулером, если даже в такой форме до тебя это не доходит, то подобную узколобость даже лоботомией вылечить уже нельзя
...
Рейтинг: 0 / 0
DDD разнесение кода логики по классам
    #39910394
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford
ух ну ты и тупой, на твой вопрос "Эрик Эванс где говорил, что логика DDD должно быть выражено в классах сущностей" там есть прямые цитаты от Эванса где это написано, плюс разжевано Фаулером, если даже в такой форме до тебя это не доходит, то подобную узколобость даже лоботомией вылечить уже нельзя


Эрик говорит про слои (или уровни) архитектуры, а не про ООП или классы.
В его книге об этом чётко и подробно расписано.

stenford
подобную узколобость даже лоботомией вылечить уже нельзя


Ты в реале такое же упоротое быдло, или только тут так себя по-свински ведёшь?
...
Рейтинг: 0 / 0
25 сообщений из 169, страница 1 из 7
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / DDD разнесение кода логики по классам
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]