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

Поділитися
Вставка
  • Опубліковано 26 гру 2024

КОМЕНТАРІ • 91

  • @ЕгорПильник-ж2х
    @ЕгорПильник-ж2х 2 роки тому +86

    Отличный доклад от Егора Летова, очень доходчиво.

  • @AndriiKuftachov
    @AndriiKuftachov 5 років тому +22

    За вступление точно зачёт!!!
    Смотрю дальше.

    • @alexanderk3762
      @alexanderk3762 4 роки тому +1

      несколько миллионов лет рефакторинг! Докладчик, видимо, на стэндап вышел ;)

  • @Mr43046721
    @Mr43046721 3 роки тому +25

    Думал ща ОООО Моя оборона будет петь...)) Хороший доклад.

  • @jordenskraften8273
    @jordenskraften8273 Рік тому

    Лучшее и компактное объяснение проблемы ddd

  • @smartphone6498
    @smartphone6498 Рік тому

    Очень толковый доклад! Всё чётко и по делу, даже вопросы были в тему (на 4)! Отдельное спасибо за примеры кода - их обычно особенно не хватает. Буду рекомендовать всем как вводную по DDD.

  • @cristalmen9104
    @cristalmen9104 4 роки тому +9

    Крутой доклад! Спасибо!

  • @BlushSmith
    @BlushSmith 3 роки тому +6

    Что не так с тумбочкой под ноутом? Почему она перемещается?

  • @dreamwalkerzmm
    @dreamwalkerzmm 5 років тому +9

    Отличный доклад! Многое стало понятнее))

  • @xelaksal6690
    @xelaksal6690 4 роки тому +3

    Спасибо, без лишних усложнений!

  • @FAU5390
    @FAU5390 Рік тому +5

    Доменный мир победил. Архитектура как у людей

  • @igorboyarovich4340
    @igorboyarovich4340 4 роки тому +19

    Ссылки из презентации собрал тут: telegra.ph/Aleksej-Merson--Domain-driven-design-recept-dlya-pragmatika-Ssylki-03-17

  • @EvgeniyYatsenko
    @EvgeniyYatsenko Рік тому +3

    1С - DDD который мы заслужили

  • @azatakhunov6061
    @azatakhunov6061 2 роки тому +1

    дал объяснения многим возникшим вопросам. Спасибо!

  • @SklerozRu
    @SklerozRu Рік тому +2

    Хорошо подготовился, с юмором. Даже волнение не мешает слушать :)

    • @alexeymerson
      @alexeymerson 6 місяців тому

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

  • @mmospanenko
    @mmospanenko 4 роки тому +7

    О#@еннейший доклад, спасибо!

  • @dmytrovolynets
    @dmytrovolynets 4 роки тому +1

    Классный доклад. У меня всю дорогу был вопрос о Clean Architecture. Хорошо, что в конце спросили))

  • @xonicov
    @xonicov Рік тому

    Прекрасный доклад! Особенно для цели погружения в DDD.

  • @milovidov42
    @milovidov42 5 років тому +6

    Интересный доклад, спасибо.

  • @dmitrygrigorev6821
    @dmitrygrigorev6821 Рік тому +4

    Это топ. Егор Летов рассказывает про DDD. Материал качественный.

  • @humanisatitle
    @humanisatitle 4 роки тому +5

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

  • @mikhailgorbov5265
    @mikhailgorbov5265 3 роки тому +2

    Хорошее изложение, спасибо

  • @Oswee
    @Oswee 5 років тому +13

    Spasibo. Otlichnij doklad. Smotrju v mesto Netflixa. :)

  • @my_pubg_short_moments
    @my_pubg_short_moments 2 роки тому +1

    Крутой доклад!

  • @Дима-г9х6п
    @Дима-г9х6п Рік тому +1

    Отличный доклад

  • @evgeniizavodnov3086
    @evgeniizavodnov3086 5 років тому +30

    Смотреть на скорости х1.25

  • @maksimkalinin959
    @maksimkalinin959 3 роки тому +1

    Каков правильный порядок чтения глав голубой книги Эванса?

  • @Alex-iz3bi
    @Alex-iz3bi 5 років тому +6

    ссылки из доклада вынести в описание зло?

  • @a.batorsky
    @a.batorsky 8 місяців тому

    14:57 как он смог поймать стакан на бегающей туда-сюда тумбочке?

  • @petrkassadinovich2705
    @petrkassadinovich2705 5 років тому +2

    Спасибо за доклад!
    PS: Ребят вы обычно реализуете свой слой репозитория или просто используете EF?)

    • @webhunterok
      @webhunterok 5 років тому

      EF. Не вижу смысла создавать дополнительный слой репозитория если EF и так его реализует.

    • @artemadeev7444
      @artemadeev7444 2 роки тому

      Также, юзаю только Ef

  • @eabrega
    @eabrega 4 роки тому +2

    Почему тумбочка двигается все время?

    • @ababush
      @ababush 3 роки тому +1

      Встроенный гироскоп не откалибровали

    • @eabrega
      @eabrega 3 роки тому

      @@ababush вы уж пожалуйста, откалибруйте!))

  • @abaitoguzbayev5736
    @abaitoguzbayev5736 Рік тому

    07:53 Ключевые идеи стратегического планирования

  • @mr_smind
    @mr_smind 2 роки тому

    от движения камеры сейчас меня укачает..

  • @whereispie
    @whereispie 3 роки тому

    Thx!

  • @nadzhafox
    @nadzhafox Рік тому

    Оооо-ооо моя архитектура

  • @maks_golovkin
    @maks_golovkin Рік тому +1

    Очень круто дополняет лекцию ua-cam.com/video/JOy_SNK3qj4/v-deo.html. В ней было рассказано про трилемму ДДД, а в этой красивое решение этой трилеммы через Separate Interface.

  • @GP-ez5ms
    @GP-ez5ms 4 роки тому +2

    1.5х минимум.

  • @ЖораКруг-б5в
    @ЖораКруг-б5в Рік тому

    Мне понравилось, спасибо) была оговорка или такой прикол: чистый код Боба Мартина. Он же Роберт. Но я подумал может на западе все Бобы, типо как Дядюшка Сэм😅

    • @learning867
      @learning867 Рік тому +1

      Боб - это сокращение от Роберта.
      Так же как у нас Саша - Александр.

    • @evgeniizaets9243
      @evgeniizaets9243 Рік тому

      У Роберта Мартина погонялово Дядя Боб

    • @ЖораКруг-б5в
      @ЖораКруг-б5в Рік тому

      А, действительно) Спасибо @@learning867

  • @alexmednonogov1684
    @alexmednonogov1684 5 років тому +16

    Арамис уже не тот

  • @Baannia
    @Baannia 3 роки тому +3

    ibicheskiy language

  • @Samuronchik
    @Samuronchik 5 років тому

    Первый пример вызывал вопросы: у нас ведь пользователь по описанию получает скидку, в задаче (вики) никакого скидочного калькулятора не существует; второй момент который не понятен - в калькулятор инжектится репозиторий заказов и он же инжектится в сервис, а потом транзитивно через калькулятор - это нормально? В общем, если в первом примере просто переписать расчёт скидки или вынести в отдельный метод, то, как мне кажется, будет не хуже.

    • @alexeymerson
      @alexeymerson 5 років тому +5

      Отдельный класс Calculator нужен для соблюдения SRP. В "алгоритм" чекаута скидка входит в виде "применяем скидку". Детали расчета скидки - это другой уровень абстракции. Кроме того, так будет проще тестировать: мухи - отдельно, котлеты - отдельно. С репозиторием в данном случае проблем нет, но в принципе можно калькулятор не инжектить, а сконструировать вручную через new DiscountCalculator. Если забить на SRP, то да, можно сделать расчет скидки методом внутри CheckoutService, всё зависит от планов на дальнейшую разработку и понимания того, как будут развиваться бизнес-требования.

    • @chrise202
      @chrise202 4 роки тому

      Будет хуже, Сделайте его Public? Он же не должен использоваться вне сервиса. Ок private? - Удачи в Unit Testing-е. А если помимо калькулятора ещё десятка методов туда присобачить? Придётся покупать мышку с Infinite Scroll. А если из-за бага вручную напишете консольку чтобы ретроспективно исправить скидику в БД - копи паст?

  • @AlBer45
    @AlBer45 3 роки тому +3

    На скорости 1,5 - норм

  • @Todortodorov62
    @Todortodorov62 4 роки тому +6

    к сожалению, вода водой. как по мне, давным-давно известные приемы, техники и принципы типа SOLID пытаются подавать под новым соусом.

  • @botcser
    @botcser 11 місяців тому

    Почему везде все всю и кругом кричат про принципы ООП и хвастаются своим знанием IoC, а на деле постоянно пытаются познать мир через частное, объяснить общее на частных примерах o_0

  • @vasilzaranok5894
    @vasilzaranok5894 5 років тому

    Как-то ответы на вопросы после доклада были невпопад мне кажется, возможно спикер волновался :) А так доклад крутой, стоит смотреть!

  • @loam
    @loam 5 років тому +1

    Лайк за правильное произношение английских слов :) Это одна из причин, по которой я обычно избегаю просмотр каких-либо видеороликов по программированию на русском (неправильное произношение).

    • @sergegindin1658
      @sergegindin1658 3 роки тому +7

      да вы, батенька, зануда ))

  • @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 будет мне наука, нужно тегать по времени, куда коммент отписал, возможно где-то в самом докладе еще было, но я сейчас только в ответе на вопрос нашел явный прагматичный совет загнать данные хоть и разово скриптом
      ua-cam.com/video/CR9mLGN9jh0/v-deo.html
      вот тут я не согласен, можно данные балком брать и грузить через команды CQS или UseCases, написав шелл команду для этого, чтобы данные гарантировано прошли через все проверки и валидации. Возможно где-то в докладе еще было, я сейчас ленюсь смотреть его внимательно целиком. Вообще-то может я и погорячился, в докладе есть много полезного для старта в этой теме, я его смотрел два раза, бомбануло во второй, когда я уже насмотрелся всякого, например Хорикова и его доклад про валидацию данных.

    • @alexeymerson
      @alexeymerson Рік тому

      @@odys-wise спасибо) Тут вопрос из зала по сути был про то, что реализация подходов ДДД обычно тяжеловесная и не подходит для хайлоад. И в целом мой ответ за 5 лет не изменился: надо либо признать, что ваш домен высоконагруженный и нужно ослаблять контроль консистентности (а обычно тяжеловесность вызвана именно жесткими правилами валидации), либо ситуация с высокой нагрузкой исключительная и нужно подпереть ее костылем - сделать возможность bulk-операции, но возложить ответственность за валидность данных на оператора например. Т.к. вопрос был достаточно абстрактный, то и ответить более конкретно на него нельзя без деталей.

  • @sdsds1094
    @sdsds1094 3 роки тому +1

    Ниочем. У докладчика очень слабые знания DDD.
    Код на русском это печаль - выглядит отстойно и может использоваться в локальных и колхозных проектах.

    • @alexeymerson
      @alexeymerson 3 роки тому +1

      Абсолютно согласен!

    • @pupazzamobila1006
      @pupazzamobila1006 3 роки тому

      Можете дать ссылку на более сильных докладчиков? Здесь и правда никакой глубины понимания DDD я у оратора не заметил.

    • @ababush
      @ababush 3 роки тому +1

      Хейтить всегда легче

    • @smartphone6498
      @smartphone6498 Рік тому +1

      С нетерпением ждём свое, по всей видимости идеальное и полное понимание ddd от автора коммента, хотя бы текстом.

  • @alexeybeloushko7240
    @alexeybeloushko7240 Рік тому

    дичь