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

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

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

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

Күн бұрын

Пікірлер: 92
@ЕгорПильник-ж2х
@ЕгорПильник-ж2х 2 жыл бұрын
Отличный доклад от Егора Летова, очень доходчиво.
@ОлафСинебрюкий
@ОлафСинебрюкий 6 ай бұрын
Говорят, он еще песни поет.
@AndriiKuftachov
@AndriiKuftachov 5 жыл бұрын
За вступление точно зачёт!!! Смотрю дальше.
@alexanderk3762
@alexanderk3762 4 жыл бұрын
несколько миллионов лет рефакторинг! Докладчик, видимо, на стэндап вышел ;)
@jordenskraften8273
@jordenskraften8273 Жыл бұрын
Лучшее и компактное объяснение проблемы ddd
@Mr43046721
@Mr43046721 4 жыл бұрын
Думал ща ОООО Моя оборона будет петь...)) Хороший доклад.
@smartphone6498
@smartphone6498 Жыл бұрын
Очень толковый доклад! Всё чётко и по делу, даже вопросы были в тему (на 4)! Отдельное спасибо за примеры кода - их обычно особенно не хватает. Буду рекомендовать всем как вводную по DDD.
@cristalmen9104
@cristalmen9104 4 жыл бұрын
Крутой доклад! Спасибо!
@dreamwalkerzmm
@dreamwalkerzmm 5 жыл бұрын
Отличный доклад! Многое стало понятнее))
@xelaksal6690
@xelaksal6690 4 жыл бұрын
Спасибо, без лишних усложнений!
@azatakhunov6061
@azatakhunov6061 2 жыл бұрын
дал объяснения многим возникшим вопросам. Спасибо!
@EvgeniyYatsenko
@EvgeniyYatsenko 2 жыл бұрын
1С - DDD который мы заслужили
@SklerozRu
@SklerozRu Жыл бұрын
Хорошо подготовился, с юмором. Даже волнение не мешает слушать :)
@alexeymerson
@alexeymerson 8 ай бұрын
Спасибо :) Это было не волнение, просто я накануне полностью потерял голос, а всю ночь перед докладом пролежал с температурой и жутким орви. Поэтому весь день до доклада сидел в номере и молчал, чтобы голоса хватило на доклад и его хватило, почти ))
@dmytrovolynets
@dmytrovolynets 5 жыл бұрын
Классный доклад. У меня всю дорогу был вопрос о Clean Architecture. Хорошо, что в конце спросили))
@mmospanenko
@mmospanenko 4 жыл бұрын
О#@еннейший доклад, спасибо!
@milovidov42
@milovidov42 5 жыл бұрын
Интересный доклад, спасибо.
@FAU5390
@FAU5390 Жыл бұрын
Доменный мир победил. Архитектура как у людей
@xonicov
@xonicov Жыл бұрын
Прекрасный доклад! Особенно для цели погружения в DDD.
@dmitrygrigorev6821
@dmitrygrigorev6821 Жыл бұрын
Это топ. Егор Летов рассказывает про DDD. Материал качественный.
@my_pubg_short_moments
@my_pubg_short_moments 2 жыл бұрын
Крутой доклад!
@humanisatitle
@humanisatitle 4 жыл бұрын
респектую докладчику... очень доступно и по полочкам...PS, никогда не приходило даже в голову использовать русский язык в названиях на шарпе)))
@Дима-г9х6п
@Дима-г9х6п 2 жыл бұрын
Отличный доклад
@BlushSmith
@BlushSmith 3 жыл бұрын
Что не так с тумбочкой под ноутом? Почему она перемещается?
@mikhailgorbov5265
@mikhailgorbov5265 3 жыл бұрын
Хорошее изложение, спасибо
@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
@whereispie
@whereispie 3 жыл бұрын
Thx!
@a.batorsky
@a.batorsky 10 ай бұрын
14:57 как он смог поймать стакан на бегающей туда-сюда тумбочке?
@maksimkalinin959
@maksimkalinin959 3 жыл бұрын
Каков правильный порядок чтения глав голубой книги Эванса?
@maks_golovkin
@maks_golovkin Жыл бұрын
Очень круто дополняет лекцию kzbin.info/www/bejne/gIDckIaEgJikoJY. В ней было рассказано про трилемму ДДД, а в этой красивое решение этой трилеммы через Separate Interface.
@nadzhafox
@nadzhafox Жыл бұрын
Оооо-ооо моя архитектура
@ЖораКруг-б5в
@ЖораКруг-б5в Жыл бұрын
Мне понравилось, спасибо) была оговорка или такой прикол: чистый код Боба Мартина. Он же Роберт. Но я подумал может на западе все Бобы, типо как Дядюшка Сэм😅
@learning867
@learning867 Жыл бұрын
Боб - это сокращение от Роберта. Так же как у нас Саша - Александр.
@evgeniizaets9243
@evgeniizaets9243 Жыл бұрын
У Роберта Мартина погонялово Дядя Боб
@ЖораКруг-б5в
@ЖораКруг-б5в Жыл бұрын
А, действительно) Спасибо @@learning867
@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 10 күн бұрын
Это база
@petrkassadinovich2705
@petrkassadinovich2705 5 жыл бұрын
Спасибо за доклад! PS: Ребят вы обычно реализуете свой слой репозитория или просто используете EF?)
@webhunterok
@webhunterok 5 жыл бұрын
EF. Не вижу смысла создавать дополнительный слой репозитория если EF и так его реализует.
@artemadeev7444
@artemadeev7444 2 жыл бұрын
Также, юзаю только Ef
@abaitoguzbayev5736
@abaitoguzbayev5736 Жыл бұрын
07:53 Ключевые идеи стратегического планирования
@Alex-iz3bi
@Alex-iz3bi 5 жыл бұрын
ссылки из доклада вынести в описание зло?
@mr_smind
@mr_smind 3 жыл бұрын
от движения камеры сейчас меня укачает..
@GP-ez5ms
@GP-ez5ms 4 жыл бұрын
1.5х минимум.
@eabrega
@eabrega 4 жыл бұрын
Почему тумбочка двигается все время?
@ababush
@ababush 3 жыл бұрын
Встроенный гироскоп не откалибровали
@eabrega
@eabrega 3 жыл бұрын
@@ababush вы уж пожалуйста, откалибруйте!))
@botcser
@botcser Жыл бұрын
Почему везде все всю и кругом кричат про принципы ООП и хвастаются своим знанием IoC, а на деле постоянно пытаются познать мир через частное, объяснить общее на частных примерах o_0
@Baannia
@Baannia 4 жыл бұрын
ibicheskiy language
@Todortodorov62
@Todortodorov62 4 жыл бұрын
к сожалению, вода водой. как по мне, давным-давно известные приемы, техники и принципы типа SOLID пытаются подавать под новым соусом.
@Samuronchik
@Samuronchik 5 жыл бұрын
Первый пример вызывал вопросы: у нас ведь пользователь по описанию получает скидку, в задаче (вики) никакого скидочного калькулятора не существует; второй момент который не понятен - в калькулятор инжектится репозиторий заказов и он же инжектится в сервис, а потом транзитивно через калькулятор - это нормально? В общем, если в первом примере просто переписать расчёт скидки или вынести в отдельный метод, то, как мне кажется, будет не хуже.
@alexeymerson
@alexeymerson 5 жыл бұрын
Отдельный класс Calculator нужен для соблюдения SRP. В "алгоритм" чекаута скидка входит в виде "применяем скидку". Детали расчета скидки - это другой уровень абстракции. Кроме того, так будет проще тестировать: мухи - отдельно, котлеты - отдельно. С репозиторием в данном случае проблем нет, но в принципе можно калькулятор не инжектить, а сконструировать вручную через new DiscountCalculator. Если забить на SRP, то да, можно сделать расчет скидки методом внутри CheckoutService, всё зависит от планов на дальнейшую разработку и понимания того, как будут развиваться бизнес-требования.
@chrise202
@chrise202 4 жыл бұрын
Будет хуже, Сделайте его Public? Он же не должен использоваться вне сервиса. Ок private? - Удачи в Unit Testing-е. А если помимо калькулятора ещё десятка методов туда присобачить? Придётся покупать мышку с Infinite Scroll. А если из-за бага вручную напишете консольку чтобы ретроспективно исправить скидику в БД - копи паст?
@loam
@loam 5 жыл бұрын
Лайк за правильное произношение английских слов :) Это одна из причин, по которой я обычно избегаю просмотр каких-либо видеороликов по программированию на русском (неправильное произношение).
@sergegindin1658
@sergegindin1658 3 жыл бұрын
да вы, батенька, зануда ))
@alexmednonogov1684
@alexmednonogov1684 5 жыл бұрын
Арамис уже не тот
@vasilzaranok5894
@vasilzaranok5894 6 жыл бұрын
Как-то ответы на вопросы после доклада были невпопад мне кажется, возможно спикер волновался :) А так доклад крутой, стоит смотреть!
@AlBer45
@AlBer45 3 жыл бұрын
На скорости 1,5 - норм
@azatska
@azatska 3 жыл бұрын
Rebelовцы, а ну-ка смотреть всем!!!
@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-операции, но возложить ответственность за валидность данных на оператора например. Т.к. вопрос был достаточно абстрактный, то и ответить более конкретно на него нельзя без деталей.
@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
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
To Brawl AND BEYOND!
00:51
Brawl Stars
Рет қаралды 17 МЛН
ГРОБ никого НЕ ЩАДИТ!! Максим Омариев - Матеуш Бартель
9:37
Битва Шахматных Стримеров
Рет қаралды 2,8 М.
Артём Антоненко «Domain Driven Design» | CODEiD (11.08.2018)
1:12:50
Go в Domain Driven Design / Дмитрий Анисов (GS Labs)
43:31
Чистая архитектура и Domain-Driven Design
1:55:56
Domain Modeling with Domain-Driven Design (From Scratch)
18:05
Milan Jovanović
Рет қаралды 28 М.
Сергей Баранов - Многоликий DDD
1:06:56
DotNext — конференция для .NET‑разработчиков
Рет қаралды 9 М.
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН