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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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


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

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


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

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


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

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

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

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

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

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

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

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

Пруф будет?


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

Пруф будет?


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


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

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

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

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

hVostt

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

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


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

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

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

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

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

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

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


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

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


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

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

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

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

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


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

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

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


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

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

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

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

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

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

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


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

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


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


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