DDD (Domain Driven Design) | Symfony PHP

Поделиться
HTML-код
  • Опубликовано: 26 авг 2022
  • Поговорим о предметно-ориентированном проектировании (DDD). И на практике рассмотрим как применить данный подход в проекте на фреймворке Symfony.
    Уроки, менторство: boosty.to/sashokgorshok
    Telegram: ht.me/alejandroyakovlev

Комментарии • 55

  • @AlejandroYakovlev
    @AlejandroYakovlev  7 месяцев назад +1

    Уроки, менторство boosty.to/sashokgorshok

  • @invgreat5608
    @invgreat5608 Месяц назад

    Офигенно сделано, красава 🔥

  • @amori7410
    @amori7410 Год назад +6

    Пожалуйста, продолжайте делать цикл, очень полезно. Особенно как ваш контент для уровня от мидла и выше

  • @acerrusm
    @acerrusm Год назад +2

    Лучшие уроки по ддд и симфони. Спасибо за труд Алехандро!

  • @tatianovnafrutti8982
    @tatianovnafrutti8982 Год назад +2

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

  • @Zlobusz
    @Zlobusz Год назад

    Привет! Давно ждал продолжение! Очень интересно!

  • @tmdan91
    @tmdan91 Год назад

    Cаша привет! Спасибо за старания и за подробное объяснение, продолжай делать то что делаешь, у тебя все очень классно получается, жду с нетерпением продолжения курса. До дыр пересмотрел.

  • @VkusnyashkaMMM
    @VkusnyashkaMMM Год назад

    Очень хороший контент! Доступно

  • @aleksandrkokin6065
    @aleksandrkokin6065 Год назад

    Спасибо, очень классный контент!

  • @alexredcross
    @alexredcross Год назад

    спасибо огромное!!!) продолжайте это благое дело! )

  • @cetch001
    @cetch001 Год назад

    Спасибо за контент!

  • @nastasins
    @nastasins Год назад

    Зачетный видос!

  • @LeoMrakobes
    @LeoMrakobes 11 месяцев назад

    Ніфіга не зрозуміло, але дуууже цікаво!! 😂 навіть після девʼяти попередніх уроків, для мене поточне відео було подібне до "як намалювати сову".... тільки розібрали модуль User, а тут фігак і все готове і розбиратись самому далі треба 😳 Дякую Олександре за найцікавіші і найкорисніші уроки, та схоже мені вони трохи "на виріст", додивлюся останній урок по CI/CD й піду розбиратись із базою Сімфоні

  • @user-ll8pp6hg3t
    @user-ll8pp6hg3t Год назад

    Привет, ждем продолжение

  • @user-kw4kp7eq9m
    @user-kw4kp7eq9m Год назад

    Большое спасибо!

  • @VajasanaDas
    @VajasanaDas Год назад

    Лайк подписка, продолжайте пожалуйста очень ценно

  • @user-go7rv6ve4v
    @user-go7rv6ve4v Год назад

    Добрый день! Решил как раз посмотреть за симфони, а то лара уже как то скучна стала) И как раз первое, что пришло на мысль это архитектура в симфони и с чего начать)
    Материал весьма полезный, подача хорошая! Надеюсь будете продолжать вести канал и на это у вас будет свободное время!
    Очень редко пишу комменты, но тут прям 10 из 10

  • @tolyankent7982
    @tolyankent7982 Год назад

    Спасибо!)

  • @alexanderk4481
    @alexanderk4481 Год назад

    Спасибо )

  • @yryskaamanturov500
    @yryskaamanturov500 Год назад

    Спасибо!

  • @fitter2boss72
    @fitter2boss72 Год назад +3

    Еще есть просьба, когда показываете код в Шторме не обрезайте верхушку, в которой видно путь до функции.

  • @user-gq2zk4lv9z
    @user-gq2zk4lv9z Год назад +2

    Как я рад, что ты вернулся! Спасибо за твой труд, очень полезные для меня видео. Я начинаю осваивать симфони, по твоим видео начинаю потихоньку кодить))) Было бы круто, если бы ты смог выпустить пару роликов для совсем чайников, как въехать в симфони, т к много чего еще не доганяю, хоть юзаю гугл и доки.. и было бы оч круто, если бы ты выпустил видео про архитектуру проекта и примеры бест практис, но для совсем зеленых))) что бы все это лучше уложилось в голове. Спасибо!!!

    • @fitter2boss72
      @fitter2boss72 Год назад +1

      Материал "для чайников" пилят все кому не лень, а для мидлов и выше мало кто. Не отвлекайте автора ! :)

    • @AlejandroYakovlev
      @AlejandroYakovlev  Год назад +1

      @@fitter2boss72 😄, я все же думаю позже позаписывать обучающие видео для "чайников", чтобы прокачать свои навыки в плане менторства и донесения мыслей. Всё же мидлы многое на лету умею схватывать и додумывать, так как есть база, а вот заложить базу для начинающего - этому еще нужно поучиться )

    • @fitter2boss72
      @fitter2boss72 Год назад

      @@AlejandroYakovlev А вы где-то менторствуете еще ?

    • @AlejandroYakovlev
      @AlejandroYakovlev  Год назад

      Если только неосознанно :)

    • @user-gq2zk4lv9z
      @user-gq2zk4lv9z Год назад

      @@AlejandroYakovlev спасибо большое, буду ждать!)))

  • @VajasanaDas
    @VajasanaDas Год назад

    Спасибо большое, очень ценно. Будет ли продолжение?

  • @MrTheKritik
    @MrTheKritik Год назад +1

    Отличное объяснение основ ddd. Жаль видео не было когда я изучал. Зависимость сущностей от каких то сервисов и тп можно наверно завернуть в фабрики. Это я про зависимость от спецификаций

  • @ivan42832
    @ivan42832 Год назад

    Хороший материал, спасибо! Лично мне не особо нравится прокидывание спецификации через postLoad ну или других сервисов, я сам сталкивался и так делал, костыльное решение, ну еще есть моменты когда ОРМ не позволяет делать красивые настоящие ООП объекты. Я последнее время начал задумываться, вообще при ДДД уходить от энтити менеджера, а сделать сохранение/получение делать агрегатов из БД на DBAL.

  • @ziat1988
    @ziat1988 10 месяцев назад

    I just found your channel and it covers many topics that i'm searching. Unfortunate for me I don't know Russian. I just hope there are a subtitle for the video.

  • @HEX_CAT
    @HEX_CAT 7 месяцев назад

    ❤❤❤🎉🎉🎉

  • @fitter2boss72
    @fitter2boss72 Год назад +1

    Я как-то потерялся, какова наша предметная область для разрабатываемого Апп? Типа HR компании? (Я конечно извиняюсь за такой тупой вопрос, но большая пауза дает о себе знать. Это идет тотже проект?). Спасибо.

    • @AlejandroYakovlev
      @AlejandroYakovlev  Год назад

      Я проводил опрос в ТГ канале, где силой большинства было принято решение в рамках урока рассматривать функционал оценки навыков сотрудников. Это что-то из области HR и обучения.
      Посмотрим, как пойдет дальше. Чтобы не засорять основной репозиторий бизнес логикой, скорее всего буду форкать основную ветвь для различных примеров.

    • @fitter2boss72
      @fitter2boss72 Год назад

      @@AlejandroYakovlev Я наверное тоже там за что-то голосовал :)
      Меня видимо сбило то, что вещи о которых говорится, так же присутствуют в начале разработки (навыки , команда , опыт, инструментарий). Спасибо.

  • @nrnwest
    @nrnwest Год назад

    скажите пажалуйста почему не работает команда make test выдает ошбку нету файла или директории 127. Хотя все файлы на месте. Сборока запус контейра продит все ок, если тесты запускаю в конейнере php bin/phpunit все ок и все команды test: jwt: cache: выдают такую ошибку

  • @optimizeit
    @optimizeit Год назад

    Жаль больше нет уроков.

  • @sergeidavidenko8885
    @sergeidavidenko8885 Год назад

    Привет, спасибо, полезный материал. Понравилось что есть примеры. А то обычно по теме ddd одна вода в виде теории. Но есть некоторые моменты с которыми я не согласен. Мне кажется делать валидацию в самой сущности не очень хорошая идея. Как минимум это нарушает принцип ед. ответственности. А что если потом нужно будет добавить еще какие-либо проверки? а потом еще может добавиться ряд условий, которые определяют нужно ли делать ту или иную проверку? Мне кажется все таки валидацию нужно выносить в отдельный сервис. И не увидел кстати ничего про DTO.

    • @AlejandroYakovlev
      @AlejandroYakovlev  Год назад

      Спасибо.
      Конечно, все зависит от ситуации. Слишком тяжелые богатые модели не есть хорошо. Бизнес логику можно вынести в спецификации, чтобы не нарушать принцип единой ответственности. Различные условия можно обыграть через стратегии. Можно и в сервисы на доменном слое.
      Как только появляется сложность, нужно заниматься рефакторингом в правильном русле. YAGNI.
      Что бы вы хотели услышать про DTO?

    • @sergeidavidenko8885
      @sergeidavidenko8885 Год назад

      @@AlejandroYakovlev про DTO - это же тоже часть ddd, поэтому наверное хотелось бы послушать в каких ситуациях лучше применять, как не переусердствовать чтобы не было слишком большого количества DTO. Например в некоторых проектах которые я встречал всячески стараются избегать работать с сущностями , а стараются работать именно с DTO.

    • @AlejandroYakovlev
      @AlejandroYakovlev  Год назад +1

      @@sergeidavidenko8885 сущности не должны выходить за границы domain и application слоев, это верно.
      DTO можно использовать для передачи состояния между ограниченными контекстами, для передачи состояния между слоями.
      Чаще DTO хранится на приклодном слое (например, в CQRS подходе в запросах происходит маппинг сущности).
      Не думаю, что DTO это часть DDD. Как минимум про DTO ни Вернон, ни Эванс в своих книгах не рассказывают.
      Да и рассказывать про него особо то нечего :) Это простые структуры, часто иммутабельные, содержат геттеры и сеттеры, методы маппинга и серриализации.
      Пусть их будет хоть сотни, лишь бы несли свою полезную нагрузку.

  • @WassimBoukadida
    @WassimBoukadida Год назад +1

    Hi
    Is it possible to have a blog post in english ?

    • @AlejandroYakovlev
      @AlejandroYakovlev  Год назад

      No :(
      But you can find the best information in the book "Vaughn Vernon. Domain-Driven Design Distilled". When writing the script for the video, I relied on the content of this book.

  • @user-sf5te2yj8w
    @user-sf5te2yj8w 8 месяцев назад

    Классный урок, почему нет новых видео?

  • @user-cs7mb8tn9s
    @user-cs7mb8tn9s Год назад

    Здравствуйте, Александр.
    Можно, пожалуйста, ссылки на презентацию и схему из ролика 🙂

    • @AlejandroYakovlev
      @AlejandroYakovlev  Год назад +1

      Здравствуйте. Ссылку на презентацию Вы найдете в моем ТГ канале t.me/alexgorshok

    • @user-cs7mb8tn9s
      @user-cs7mb8tn9s Год назад

      @@AlejandroYakovlev спасибо.
      Нашел там ссылку только на презентацию.
      Нет ссылки на схему.
      Или вы не хотите её выкладывать?

    • @AlejandroYakovlev
      @AlejandroYakovlev  Год назад

      @@user-cs7mb8tn9s открыть доступ к схеме, к сожалению, не могу. Та как там на одной доске есть приватные данные, не относящиеся к уроку.

  • @imoisey
    @imoisey Год назад

    Спасибо за видос!
    Но юзать спецификацию, через которую потом инжектится Repository такое себе решение. Это нарушает изоляцию доменной модели, я бы в таком случае жертвовал инкапсуляцией и выносил бы такую логику в доменный сервис.

  • @shamanvalius2902
    @shamanvalius2902 9 месяцев назад

    Едрить сложна. Слоожнаа😮

    • @AlejandroYakovlev
      @AlejandroYakovlev  9 месяцев назад +1

      По началу всегда так. Это нормально. Когда спустя время вернешься к этой информации, уже легче восприниматься будет.

  • @Alexander-dg5id
    @Alexander-dg5id 3 месяца назад

    Модуль !== Ограниченный контекст !== Поддомен.
    Парень, учи матчасть.