DDD (Domain Driven Design) | Symfony PHP
HTML-код
- Опубликовано: 26 авг 2022
- Поговорим о предметно-ориентированном проектировании (DDD). И на практике рассмотрим как применить данный подход в проекте на фреймворке Symfony.
Уроки, менторство: boosty.to/sashokgorshok
Telegram: ht.me/alejandroyakovlev
Уроки, менторство boosty.to/sashokgorshok
Офигенно сделано, красава 🔥
Пожалуйста, продолжайте делать цикл, очень полезно. Особенно как ваш контент для уровня от мидла и выше
Лучшие уроки по ддд и симфони. Спасибо за труд Алехандро!
Рад стараться! :)
Супер! Ты рили крутейший контент делаешь!! Пожалуйста, добрый человек, сделай хотяб не большой плейлист уроков прям для начинающих , которые в глаза симфони не видели)) Очень круто все рассказываешь и понятно.
Привет! Давно ждал продолжение! Очень интересно!
Cаша привет! Спасибо за старания и за подробное объяснение, продолжай делать то что делаешь, у тебя все очень классно получается, жду с нетерпением продолжения курса. До дыр пересмотрел.
Очень хороший контент! Доступно
Спасибо, очень классный контент!
спасибо огромное!!!) продолжайте это благое дело! )
Спасибо за контент!
Зачетный видос!
Ніфіга не зрозуміло, але дуууже цікаво!! 😂 навіть після девʼяти попередніх уроків, для мене поточне відео було подібне до "як намалювати сову".... тільки розібрали модуль User, а тут фігак і все готове і розбиратись самому далі треба 😳 Дякую Олександре за найцікавіші і найкорисніші уроки, та схоже мені вони трохи "на виріст", додивлюся останній урок по CI/CD й піду розбиратись із базою Сімфоні
Привет, ждем продолжение
Большое спасибо!
Лайк подписка, продолжайте пожалуйста очень ценно
Добрый день! Решил как раз посмотреть за симфони, а то лара уже как то скучна стала) И как раз первое, что пришло на мысль это архитектура в симфони и с чего начать)
Материал весьма полезный, подача хорошая! Надеюсь будете продолжать вести канал и на это у вас будет свободное время!
Очень редко пишу комменты, но тут прям 10 из 10
Спасибо!)
Спасибо )
Спасибо!
Еще есть просьба, когда показываете код в Шторме не обрезайте верхушку, в которой видно путь до функции.
Как я рад, что ты вернулся! Спасибо за твой труд, очень полезные для меня видео. Я начинаю осваивать симфони, по твоим видео начинаю потихоньку кодить))) Было бы круто, если бы ты смог выпустить пару роликов для совсем чайников, как въехать в симфони, т к много чего еще не доганяю, хоть юзаю гугл и доки.. и было бы оч круто, если бы ты выпустил видео про архитектуру проекта и примеры бест практис, но для совсем зеленых))) что бы все это лучше уложилось в голове. Спасибо!!!
Материал "для чайников" пилят все кому не лень, а для мидлов и выше мало кто. Не отвлекайте автора ! :)
@@fitter2boss72 😄, я все же думаю позже позаписывать обучающие видео для "чайников", чтобы прокачать свои навыки в плане менторства и донесения мыслей. Всё же мидлы многое на лету умею схватывать и додумывать, так как есть база, а вот заложить базу для начинающего - этому еще нужно поучиться )
@@AlejandroYakovlev А вы где-то менторствуете еще ?
Если только неосознанно :)
@@AlejandroYakovlev спасибо большое, буду ждать!)))
Спасибо большое, очень ценно. Будет ли продолжение?
Отличное объяснение основ ddd. Жаль видео не было когда я изучал. Зависимость сущностей от каких то сервисов и тп можно наверно завернуть в фабрики. Это я про зависимость от спецификаций
Хороший материал, спасибо! Лично мне не особо нравится прокидывание спецификации через postLoad ну или других сервисов, я сам сталкивался и так делал, костыльное решение, ну еще есть моменты когда ОРМ не позволяет делать красивые настоящие ООП объекты. Я последнее время начал задумываться, вообще при ДДД уходить от энтити менеджера, а сделать сохранение/получение делать агрегатов из БД на DBAL.
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.
❤❤❤🎉🎉🎉
Я как-то потерялся, какова наша предметная область для разрабатываемого Апп? Типа HR компании? (Я конечно извиняюсь за такой тупой вопрос, но большая пауза дает о себе знать. Это идет тотже проект?). Спасибо.
Я проводил опрос в ТГ канале, где силой большинства было принято решение в рамках урока рассматривать функционал оценки навыков сотрудников. Это что-то из области HR и обучения.
Посмотрим, как пойдет дальше. Чтобы не засорять основной репозиторий бизнес логикой, скорее всего буду форкать основную ветвь для различных примеров.
@@AlejandroYakovlev Я наверное тоже там за что-то голосовал :)
Меня видимо сбило то, что вещи о которых говорится, так же присутствуют в начале разработки (навыки , команда , опыт, инструментарий). Спасибо.
скажите пажалуйста почему не работает команда make test выдает ошбку нету файла или директории 127. Хотя все файлы на месте. Сборока запус контейра продит все ок, если тесты запускаю в конейнере php bin/phpunit все ок и все команды test: jwt: cache: выдают такую ошибку
Жаль больше нет уроков.
Привет, спасибо, полезный материал. Понравилось что есть примеры. А то обычно по теме ddd одна вода в виде теории. Но есть некоторые моменты с которыми я не согласен. Мне кажется делать валидацию в самой сущности не очень хорошая идея. Как минимум это нарушает принцип ед. ответственности. А что если потом нужно будет добавить еще какие-либо проверки? а потом еще может добавиться ряд условий, которые определяют нужно ли делать ту или иную проверку? Мне кажется все таки валидацию нужно выносить в отдельный сервис. И не увидел кстати ничего про DTO.
Спасибо.
Конечно, все зависит от ситуации. Слишком тяжелые богатые модели не есть хорошо. Бизнес логику можно вынести в спецификации, чтобы не нарушать принцип единой ответственности. Различные условия можно обыграть через стратегии. Можно и в сервисы на доменном слое.
Как только появляется сложность, нужно заниматься рефакторингом в правильном русле. YAGNI.
Что бы вы хотели услышать про DTO?
@@AlejandroYakovlev про DTO - это же тоже часть ddd, поэтому наверное хотелось бы послушать в каких ситуациях лучше применять, как не переусердствовать чтобы не было слишком большого количества DTO. Например в некоторых проектах которые я встречал всячески стараются избегать работать с сущностями , а стараются работать именно с DTO.
@@sergeidavidenko8885 сущности не должны выходить за границы domain и application слоев, это верно.
DTO можно использовать для передачи состояния между ограниченными контекстами, для передачи состояния между слоями.
Чаще DTO хранится на приклодном слое (например, в CQRS подходе в запросах происходит маппинг сущности).
Не думаю, что DTO это часть DDD. Как минимум про DTO ни Вернон, ни Эванс в своих книгах не рассказывают.
Да и рассказывать про него особо то нечего :) Это простые структуры, часто иммутабельные, содержат геттеры и сеттеры, методы маппинга и серриализации.
Пусть их будет хоть сотни, лишь бы несли свою полезную нагрузку.
Hi
Is it possible to have a blog post in english ?
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.
Классный урок, почему нет новых видео?
Скоро будет 💯
Здравствуйте, Александр.
Можно, пожалуйста, ссылки на презентацию и схему из ролика 🙂
Здравствуйте. Ссылку на презентацию Вы найдете в моем ТГ канале t.me/alexgorshok
@@AlejandroYakovlev спасибо.
Нашел там ссылку только на презентацию.
Нет ссылки на схему.
Или вы не хотите её выкладывать?
@@user-cs7mb8tn9s открыть доступ к схеме, к сожалению, не могу. Та как там на одной доске есть приватные данные, не относящиеся к уроку.
Спасибо за видос!
Но юзать спецификацию, через которую потом инжектится Repository такое себе решение. Это нарушает изоляцию доменной модели, я бы в таком случае жертвовал инкапсуляцией и выносил бы такую логику в доменный сервис.
Вы правы. Это слабое место.
Едрить сложна. Слоожнаа😮
По началу всегда так. Это нормально. Когда спустя время вернешься к этой информации, уже легче восприниматься будет.
Модуль !== Ограниченный контекст !== Поддомен.
Парень, учи матчасть.