Алексей Мерсон - Domain-driven design: рецепт для прагматика

  Рет қаралды 62,862

DotNext — конференция для .NET‑разработчиков

DotNext — конференция для .NET‑разработчиков

Күн бұрын

Пікірлер: 92
@ЕгорПильник-ж2х
@ЕгорПильник-ж2х 2 жыл бұрын
Отличный доклад от Егора Летова, очень доходчиво.
@ОлафСинебрюкий
@ОлафСинебрюкий 6 ай бұрын
Говорят, он еще песни поет.
@AndriiKuftachov
@AndriiKuftachov 5 жыл бұрын
За вступление точно зачёт!!! Смотрю дальше.
@alexanderk3762
@alexanderk3762 4 жыл бұрын
несколько миллионов лет рефакторинг! Докладчик, видимо, на стэндап вышел ;)
@smartphone6498
@smartphone6498 Жыл бұрын
Очень толковый доклад! Всё чётко и по делу, даже вопросы были в тему (на 4)! Отдельное спасибо за примеры кода - их обычно особенно не хватает. Буду рекомендовать всем как вводную по DDD.
@Mr43046721
@Mr43046721 3 жыл бұрын
Думал ща ОООО Моя оборона будет петь...)) Хороший доклад.
@cristalmen9104
@cristalmen9104 4 жыл бұрын
Крутой доклад! Спасибо!
@jordenskraften8273
@jordenskraften8273 Жыл бұрын
Лучшее и компактное объяснение проблемы ddd
@dmytrovolynets
@dmytrovolynets 5 жыл бұрын
Классный доклад. У меня всю дорогу был вопрос о Clean Architecture. Хорошо, что в конце спросили))
@dreamwalkerzmm
@dreamwalkerzmm 5 жыл бұрын
Отличный доклад! Многое стало понятнее))
@azatakhunov6061
@azatakhunov6061 2 жыл бұрын
дал объяснения многим возникшим вопросам. Спасибо!
@xelaksal6690
@xelaksal6690 4 жыл бұрын
Спасибо, без лишних усложнений!
@SklerozRu
@SklerozRu Жыл бұрын
Хорошо подготовился, с юмором. Даже волнение не мешает слушать :)
@alexeymerson
@alexeymerson 8 ай бұрын
Спасибо :) Это было не волнение, просто я накануне полностью потерял голос, а всю ночь перед докладом пролежал с температурой и жутким орви. Поэтому весь день до доклада сидел в номере и молчал, чтобы голоса хватило на доклад и его хватило, почти ))
@BlushSmith
@BlushSmith 3 жыл бұрын
Что не так с тумбочкой под ноутом? Почему она перемещается?
@humanisatitle
@humanisatitle 4 жыл бұрын
респектую докладчику... очень доступно и по полочкам...PS, никогда не приходило даже в голову использовать русский язык в названиях на шарпе)))
@mmospanenko
@mmospanenko 4 жыл бұрын
О#@еннейший доклад, спасибо!
@EvgeniyYatsenko
@EvgeniyYatsenko 2 жыл бұрын
1С - DDD который мы заслужили
@FAU5390
@FAU5390 Жыл бұрын
Доменный мир победил. Архитектура как у людей
@xonicov
@xonicov Жыл бұрын
Прекрасный доклад! Особенно для цели погружения в DDD.
@dmitrygrigorev6821
@dmitrygrigorev6821 Жыл бұрын
Это топ. Егор Летов рассказывает про DDD. Материал качественный.
@milovidov42
@milovidov42 5 жыл бұрын
Интересный доклад, спасибо.
@Oswee
@Oswee 5 жыл бұрын
Spasibo. Otlichnij doklad. Smotrju v mesto Netflixa. :)
@denis_penis
@denis_penis 4 жыл бұрын
malacis ;)
@igorboyarovich4340
@igorboyarovich4340 4 жыл бұрын
Ссылки из презентации собрал тут: telegra.ph/Aleksej-Merson--Domain-driven-design-recept-dlya-pragmatika-Ssylki-03-17
@my_pubg_short_moments
@my_pubg_short_moments 2 жыл бұрын
Крутой доклад!
@mikhailgorbov5265
@mikhailgorbov5265 3 жыл бұрын
Хорошее изложение, спасибо
@Дима-г9х6п
@Дима-г9х6п 2 жыл бұрын
Отличный доклад
@maksimkalinin959
@maksimkalinin959 3 жыл бұрын
Каков правильный порядок чтения глав голубой книги Эванса?
@a.batorsky
@a.batorsky 10 ай бұрын
14:57 как он смог поймать стакан на бегающей туда-сюда тумбочке?
@petrkassadinovich2705
@petrkassadinovich2705 5 жыл бұрын
Спасибо за доклад! PS: Ребят вы обычно реализуете свой слой репозитория или просто используете EF?)
@webhunterok
@webhunterok 5 жыл бұрын
EF. Не вижу смысла создавать дополнительный слой репозитория если EF и так его реализует.
@artemadeev7444
@artemadeev7444 2 жыл бұрын
Также, юзаю только Ef
@ЖораКруг-б5в
@ЖораКруг-б5в Жыл бұрын
Мне понравилось, спасибо) была оговорка или такой прикол: чистый код Боба Мартина. Он же Роберт. Но я подумал может на западе все Бобы, типо как Дядюшка Сэм😅
@learning867
@learning867 Жыл бұрын
Боб - это сокращение от Роберта. Так же как у нас Саша - Александр.
@evgeniizaets9243
@evgeniizaets9243 Жыл бұрын
У Роберта Мартина погонялово Дядя Боб
@ЖораКруг-б5в
@ЖораКруг-б5в Жыл бұрын
А, действительно) Спасибо @@learning867
@Alex-iz3bi
@Alex-iz3bi 5 жыл бұрын
ссылки из доклада вынести в описание зло?
@evgeniizavodnov3086
@evgeniizavodnov3086 5 жыл бұрын
Смотреть на скорости х1.25
@SeregaPositive
@SeregaPositive 4 жыл бұрын
1.75
@MrAmmid
@MrAmmid 4 жыл бұрын
2.0
@sh_zik
@sh_zik 3 жыл бұрын
@@MrAmmid 0.25
@Logan-j8h6n
@Logan-j8h6n 6 күн бұрын
Это база
@maks_golovkin
@maks_golovkin Жыл бұрын
Очень круто дополняет лекцию kzbin.info/www/bejne/gIDckIaEgJikoJY. В ней было рассказано про трилемму ДДД, а в этой красивое решение этой трилеммы через Separate Interface.
@whereispie
@whereispie 3 жыл бұрын
Thx!
@mr_smind
@mr_smind 3 жыл бұрын
от движения камеры сейчас меня укачает..
@eabrega
@eabrega 4 жыл бұрын
Почему тумбочка двигается все время?
@ababush
@ababush 3 жыл бұрын
Встроенный гироскоп не откалибровали
@eabrega
@eabrega 3 жыл бұрын
@@ababush вы уж пожалуйста, откалибруйте!))
@abaitoguzbayev5736
@abaitoguzbayev5736 Жыл бұрын
07:53 Ключевые идеи стратегического планирования
@nadzhafox
@nadzhafox Жыл бұрын
Оооо-ооо моя архитектура
@botcser
@botcser Жыл бұрын
Почему везде все всю и кругом кричат про принципы ООП и хвастаются своим знанием IoC, а на деле постоянно пытаются познать мир через частное, объяснить общее на частных примерах o_0
@Samuronchik
@Samuronchik 5 жыл бұрын
Первый пример вызывал вопросы: у нас ведь пользователь по описанию получает скидку, в задаче (вики) никакого скидочного калькулятора не существует; второй момент который не понятен - в калькулятор инжектится репозиторий заказов и он же инжектится в сервис, а потом транзитивно через калькулятор - это нормально? В общем, если в первом примере просто переписать расчёт скидки или вынести в отдельный метод, то, как мне кажется, будет не хуже.
@alexeymerson
@alexeymerson 5 жыл бұрын
Отдельный класс Calculator нужен для соблюдения SRP. В "алгоритм" чекаута скидка входит в виде "применяем скидку". Детали расчета скидки - это другой уровень абстракции. Кроме того, так будет проще тестировать: мухи - отдельно, котлеты - отдельно. С репозиторием в данном случае проблем нет, но в принципе можно калькулятор не инжектить, а сконструировать вручную через new DiscountCalculator. Если забить на SRP, то да, можно сделать расчет скидки методом внутри CheckoutService, всё зависит от планов на дальнейшую разработку и понимания того, как будут развиваться бизнес-требования.
@chrise202
@chrise202 4 жыл бұрын
Будет хуже, Сделайте его Public? Он же не должен использоваться вне сервиса. Ок private? - Удачи в Unit Testing-е. А если помимо калькулятора ещё десятка методов туда присобачить? Придётся покупать мышку с Infinite Scroll. А если из-за бага вручную напишете консольку чтобы ретроспективно исправить скидику в БД - копи паст?
@alexmednonogov1684
@alexmednonogov1684 5 жыл бұрын
Арамис уже не тот
@Baannia
@Baannia 4 жыл бұрын
ibicheskiy language
@GP-ez5ms
@GP-ez5ms 4 жыл бұрын
1.5х минимум.
@Todortodorov62
@Todortodorov62 4 жыл бұрын
к сожалению, вода водой. как по мне, давным-давно известные приемы, техники и принципы типа SOLID пытаются подавать под новым соусом.
@vasilzaranok5894
@vasilzaranok5894 6 жыл бұрын
Как-то ответы на вопросы после доклада были невпопад мне кажется, возможно спикер волновался :) А так доклад крутой, стоит смотреть!
@odys-wise
@odys-wise 2 жыл бұрын
скрипт загонит данные... в ДДД - это табу. данные меняются только через агрегаты, иначе во всей этой истории нет никакого смысла. куча абстракций ради абстракций. а потом внешний скрипт жух и все сломал и концов не найти. слабоватое изложение. путанное какое-то и безсистемное.
@alexeymerson
@alexeymerson Жыл бұрын
В том-то и дело, что абстракции ради абстракций не нужны. Если скрипта достаточно, чтобы выразить бизнес-логику - прекрасно! Только напиши этот скрипт человеческим языком, используя ubiquitous language.
@odys-wise
@odys-wise Жыл бұрын
@@alexeymerson и соблюдая все инварианты из моделей? сделать то можно, а тесты? А если база на продакшене? Очень это рисковый вариант. А если еще и в пятницу такое задеплоить или перед отпуском - совсем замечательный выговор будет от руководства, на матерном ubiquitous language. Возможно я что-то не понял, но речь шла об изменении данных в бд мимо домен слоя. Я высказал свое несогласие править SQL скриптами данные в базе, которые записаны моделями.
@alexeymerson
@alexeymerson Жыл бұрын
@@odys-wise а можешь написать тайм-код, где говорится про скрипт? Я может тоже тебя неправильно понял
@odys-wise
@odys-wise Жыл бұрын
@@alexeymerson будет мне наука, нужно тегать по времени, куда коммент отписал, возможно где-то в самом докладе еще было, но я сейчас только в ответе на вопрос нашел явный прагматичный совет загнать данные хоть и разово скриптом kzbin.info/www/bejne/eYOcnn99g56dnpI вот тут я не согласен, можно данные балком брать и грузить через команды CQS или UseCases, написав шелл команду для этого, чтобы данные гарантировано прошли через все проверки и валидации. Возможно где-то в докладе еще было, я сейчас ленюсь смотреть его внимательно целиком. Вообще-то может я и погорячился, в докладе есть много полезного для старта в этой теме, я его смотрел два раза, бомбануло во второй, когда я уже насмотрелся всякого, например Хорикова и его доклад про валидацию данных.
@alexeymerson
@alexeymerson Жыл бұрын
@@odys-wise спасибо) Тут вопрос из зала по сути был про то, что реализация подходов ДДД обычно тяжеловесная и не подходит для хайлоад. И в целом мой ответ за 5 лет не изменился: надо либо признать, что ваш домен высоконагруженный и нужно ослаблять контроль консистентности (а обычно тяжеловесность вызвана именно жесткими правилами валидации), либо ситуация с высокой нагрузкой исключительная и нужно подпереть ее костылем - сделать возможность bulk-операции, но возложить ответственность за валидность данных на оператора например. Т.к. вопрос был достаточно абстрактный, то и ответить более конкретно на него нельзя без деталей.
@AlBer45
@AlBer45 3 жыл бұрын
На скорости 1,5 - норм
@loam
@loam 5 жыл бұрын
Лайк за правильное произношение английских слов :) Это одна из причин, по которой я обычно избегаю просмотр каких-либо видеороликов по программированию на русском (неправильное произношение).
@sergegindin1658
@sergegindin1658 3 жыл бұрын
да вы, батенька, зануда ))
@azatska
@azatska 3 жыл бұрын
Rebelовцы, а ну-ка смотреть всем!!!
@sdsds1094
@sdsds1094 3 жыл бұрын
Ниочем. У докладчика очень слабые знания DDD. Код на русском это печаль - выглядит отстойно и может использоваться в локальных и колхозных проектах.
@alexeymerson
@alexeymerson 3 жыл бұрын
Абсолютно согласен!
@pupazzamobila1006
@pupazzamobila1006 3 жыл бұрын
Можете дать ссылку на более сильных докладчиков? Здесь и правда никакой глубины понимания DDD я у оратора не заметил.
@ababush
@ababush 3 жыл бұрын
Хейтить всегда легче
@smartphone6498
@smartphone6498 Жыл бұрын
С нетерпением ждём свое, по всей видимости идеальное и полное понимание ddd от автора коммента, хотя бы текстом.
@alexeybeloushko7240
@alexeybeloushko7240 Жыл бұрын
дичь
Владимир Хориков - Domain-driven design: Cамое важное
1:13:59
DotNext — конференция для .NET‑разработчиков
Рет қаралды 58 М.
Domain Driven Design - просто о сложном. Дмитрий Науменко.
58:32
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
Sigma Kid Mistake #funny #sigma
00:17
CRAZY GREAPA
Рет қаралды 30 МЛН
Go в Domain Driven Design / Дмитрий Анисов (GS Labs)
43:31
Сергей Баранов - Многоликий DDD
1:06:56
DotNext — конференция для .NET‑разработчиков
Рет қаралды 9 М.
Многоликий DDD - Сергей Баранов
1:19:18
Конференция ArchDays
Рет қаралды 19 М.
Чистая архитектура и Domain-Driven Design
1:55:56
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН