DDD архитектура база. Domain Driven Design архитектурный подход.

  Рет қаралды 14,645

Laravel Creative

Laravel Creative

Күн бұрын

Пікірлер: 81
@antohagobet4451
@antohagobet4451 Жыл бұрын
Спасибо, автору за новое видео, один из лучших блогеров по веб-разработке) при том что еще и ролики очень полезные и на актуальные темы!
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!:)
@Евгений-т3ц9к
@Евгений-т3ц9к Жыл бұрын
Спасибо тебе братан! Как всегда, видео на высоте. Единственный релевантный блогер по Laravel. Не бросай своё дело!
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!:)
@ДенисКисляк-и2п
@ДенисКисляк-и2п Жыл бұрын
Огромное спасибо автору за данное видео! Было бы здорово увидеть написание проекта на laravel с использованием DDD.
@Rad777i
@Rad777i 11 ай бұрын
Здарова! Не останавливайся! Всё будет! Спасибо!
@dmitriivanov7010
@dmitriivanov7010 Жыл бұрын
Вы лучший блогер по Ларавел 🎉🎉🎉 Ролик отличный!
@ivaniuk_volodymyr
@ivaniuk_volodymyr Жыл бұрын
Азиз, спасибо большое, как всегда, все четко и актуально!!!
@svetatam
@svetatam Жыл бұрын
Спасибо! Очень понятно преподнёс! 😊
@АлександрГлебов-г2х
@АлександрГлебов-г2х Жыл бұрын
Почему принято в корне создавать папки controllers, resourses и тд. Ведь удобнее если бы на верхнем уровне были модули, вроде users, а внутри уже контроллеры ресурсы и тд юзера. Тогда, работая с юзерами не придется искать его классы по всему проекту, а все будет рядом. И так же с классами DDD.
@pavelbabich4589
@pavelbabich4589 Жыл бұрын
Для меня проблема это как правилньо архитектуру создавать. Когда в одиночку кодишь, но хочется красиво и понятно. Спасибо за урок
@АртурПоздняк-я9х
@АртурПоздняк-я9х Жыл бұрын
Большое спасибо за видео, очень позеавательно
@НиколайН-т3т
@НиколайН-т3т Жыл бұрын
👍🏻 спасибо, ддд как будто какой-то порог, если его прошел и можешь объяснить что к чему то норм и даже не обязательно действительно уметь применять. Надеюсь на продолжение по асинхронности, cqrs, rabbit)
@Евгений-т3ц9к
@Евгений-т3ц9к Жыл бұрын
Да, согласен по реббиту надо больше) cqrs тоже было бы не плохо.
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!:) Посмотрим:)
@biLLie_wiLLie
@biLLie_wiLLie Жыл бұрын
@@Евгений-т3ц9к что такое cqrs?
@olezhonnv3215
@olezhonnv3215 Жыл бұрын
​​@@biLLie_wiLLieCommand Query Responsibility Segregation
@donart959
@donart959 Жыл бұрын
расскажешь про постмен и подводные камни?
@svetatam
@svetatam Жыл бұрын
В ObjectValue выбрасывается http exception. Так не хорошо делать, перепрыгивая целый слой
@alexanderbashkatov5981
@alexanderbashkatov5981 11 ай бұрын
Здравствуйте! Вот бы еще ролик как это все запустить. Те же например банальные CRUDы. Спасибо большое.
@KikrAzz
@KikrAzz Жыл бұрын
Спасибо автору. Но почему репозиторий описан в доменном слое. Разве домен не обязан быть в неведении относительно репозиториев?
@spitzer4077
@spitzer4077 Жыл бұрын
Было б здорово показать распаковку сути DDD в виде многошагового развития какой-то базовой рабочей версии чего-либо, да тех же воркеров.. типа вот наш концепт, а теперь давайте усложним задачу несколько раз вот так, дабы ощущить всю мощь -тёмной стороны силы- DDD, #ящетаю...
@Санечка-и6ц
@Санечка-и6ц Жыл бұрын
А где у вас на канале раньше были видео по тестам? Вы их закрыли, что ли? Юнит тесты и ещё, кажется, какие-то были.
@ДиванныйВоитель
@ДиванныйВоитель Жыл бұрын
Огромное спасибо за ваш труд. Очень крутой материал
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!:)
@biLLie_wiLLie
@biLLie_wiLLie Жыл бұрын
Автор, спасибо тебе!
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!:)
@smilesrg
@smilesrg Жыл бұрын
Тема DDD не раскрыта
@michaelalexeev2347
@michaelalexeev2347 Жыл бұрын
Ого спасибо! Стало понятнее про ДДД 👍 а про тестирование будут ролики? а то на многих собесах спрашивают про это.
@tori.archive
@tori.archive Жыл бұрын
kzbin.info/www/bejne/opbEiaaNrsuEiNU&ab_channel=LaravelCreative
@olezhonnv3215
@olezhonnv3215 Жыл бұрын
preg_match разве не будет ексепшны выдавать? Там надо ! вроде как поставить. Иначе на киррилицу будет эксепшны выдавать.
@olezhonnv3215
@olezhonnv3215 Жыл бұрын
В классе Name.
@laravelcreative
@laravelcreative Жыл бұрын
Это пример, там много чего можно сделать:)
@lidiagodo7622
@lidiagodo7622 3 ай бұрын
Сейчас, возможно, будет вопрос от блондинки, но все-таки... Представим, что у нас добавляется сущность report (отчёт). Выделяем ей домен, пишем репозиторий с методами. И кроме создать отчёт, удалить отчёт, появляется задача выдать отчёт, который будет выбирать всех работников worker, у которых зарплата salary от 100 000 до 200 000. Вот в какой домен нужно будет писать метод репозитория? Тут ведь затрагиваются 3 разные сущности из проекта.
@Amtes-it3cb
@Amtes-it3cb Жыл бұрын
Здравствуйте, посмотрел много ваших видео и хотел спросить, если посмотреть все ваши платные курсы по ларавел, можно ли уверенно идти на работу на позицию jun?
@laravelcreative
@laravelcreative Жыл бұрын
Более чем
@Abdugoffor_Qodirov
@Abdugoffor_Qodirov 9 ай бұрын
пожалуйста это было очень нужно
@narwhal6422
@narwhal6422 Жыл бұрын
Можно видео-обзор для jetstream?
@artemunix5223
@artemunix5223 Жыл бұрын
о нормас давай еще
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!:)
@User-lj7gs
@User-lj7gs Жыл бұрын
Автор привет. Мне очень интересно увидить ролик на тему бек офиса и создания контент элементов. Их администрирование, заполнение и так далее. Я понимаю как это работает в cms но не на Laravel.
@sharpsss7666
@sharpsss7666 Жыл бұрын
Привет, часто твои видосы спасают, сделай пожалуйста на nuxt js + laravel гайд с деплоем на сервер , классика laravel mysql + nuxt js для SSR пожалуйста)
@artemunix5223
@artemunix5223 Жыл бұрын
расскажи как документацию проекта делать
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!:)
@vxarlanchuk
@vxarlanchuk Жыл бұрын
Очень понятно разложил!
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!:)
@laraveluz2195
@laraveluz2195 Жыл бұрын
Большое спасибо
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!:)
@timur43378
@timur43378 Жыл бұрын
Есть же канонический перевод - "Предметно-ориентированный дизайн". Гораздо точнее отражает суть, чем "на основе".
@hotis8
@hotis8 Жыл бұрын
Тема очень не простая. Спасибо за труды конечно, но по-моему только больше запутал зрителей. Про выгоду репозиториев при runtime это что за мысль? не понятно что хотел сказать. Про единый язык, без примеров кода, не ясно для чего этот зверь вообще. Концепция DDD включает три столпа Агрегаты-Сущности-ОбъектыЗначения. Про агрегаты в видео не слова. Делаю вывод вы (автор) даже бегло с концепцией не разобрались. Про репозитории тоже всё скомкано получилось. Любой интерфейс описывает поведение, если мы его имплементируем(реализуем) значит подписываем "контракт", что от нашего объекта можно ждать соответствующего поведения. А объект не обязательно работает с базой данных, это может быть CLI, Rabbit и т.д. Но как говориться критикуешь предлагай: 1. Удалить этот ролик. 2. Записать ролик про концепцию DDD с короткими примерами кода (3-4 строки) 3. Записать ещё ролик (можно не один) про практическое применение DDD в границах фреймворка Laravel. Ещё в DDD не может быть всё свалено в одну папку src (тогда это не DDD), поскольку есть такое понятие как border context.
@ЕвгенийВласов-е2о
@ЕвгенийВласов-е2о 29 күн бұрын
Прошел 1 год. Как твои успехи? Записал правильный ролик по DDD?
@yerzhanstinger
@yerzhanstinger 5 ай бұрын
Когда использовать DDD вместо MVC?
@ЕвгенийВласов-е2о
@ЕвгенийВласов-е2о 29 күн бұрын
Это совсем разное и одно не исключает другое
@ДмитрийВладимирович-г4ц
@ДмитрийВладимирович-г4ц Жыл бұрын
Может к этому видео не относится, но как на счёт урока про репликацию, master-slave в laravel для Mysql
@dmitryfokin5205
@dmitryfokin5205 11 ай бұрын
а если у человека фамилия поменяется, а нужно распечатать в старом документе старую фамилию? а если работник уволился, а потом снова устроился? а если полные тезки будут то одно велью будет или два одинаковых? - так это бред?
@gru8299
@gru8299 Жыл бұрын
Благодарю!!! 🤝
@laravelcreative
@laravelcreative Жыл бұрын
Благодарю!:)
@frerf6604
@frerf6604 Жыл бұрын
Стоит использовать phpmyadmin?
@sergeisurin2963
@sergeisurin2963 Жыл бұрын
🙏👍❗
@sergeblack1777
@sergeblack1777 Жыл бұрын
Условие в методе assertSalaryIsValid должно быть противоположным
@artemunix5223
@artemunix5223 Жыл бұрын
тоесть лучше логику в сервисы пихать ?
@НиколайСергеев-н1л
@НиколайСергеев-н1л Жыл бұрын
Ну вообще от ситуации, если логика какая то сложная, ты можешь ее вынести в доменный слой приложения, так Адель писал☝️. От случая зависит
@hotis8
@hotis8 Жыл бұрын
если речь про бизнес логику то да. А если про логику поведения объекта то что-то лучше добавить в методы объекта. На пример, сущность Квартира, у неё есть общая площадь, которая вычисляется на основе суммы площадей входящих в неё помещений. А вот если нужно применить какой либо коэффициент то лучше вызвать этот метод где-то в методе сервиса, и в случае изменения коэффициента или ещё чего, добавить дополнительный метод.
@artemunix5223
@artemunix5223 Жыл бұрын
@@hotis8 а в чем разница от бизнес логики я не понял
@hotis8
@hotis8 Жыл бұрын
@@artemunix5223 коротко для себя это сформулировал так - в объекте только та логика которая от бизнес-процессов не зависит.
@bigl_dev
@bigl_dev Жыл бұрын
0. ни слова о том, зачем ДДД. 1. схема с ддд в описании архитектур не верная. Репозиторий ни когда не знает ничего о вьюхах. А на схеме - знает и много. 2. Энтити отличается от value-object тем что имеет уникальный идентификатор для каждого экземпляра и обычно экземпляры мутабельны. 3. сила интерфейсов к репозиториям в том, что реализация этих репозиториев может быть разной, под разные хранилища. При этом доменной модели на это плевать. 4. ни слова не сказано про DTO. А ведь именно они пробрасываются между слоями. 5. Salary не может быть value-object. Оклад - может, зарплата - нет. Поскольку зарплата включает в себя штрафы, надбавки и т.п. И вполне себе может иметь айди.
@alext5030
@alext5030 5 ай бұрын
"ни слова о том, зачем ДДД." - никто из адептов этой over engineered дичи так и не смог объяснить, зачем оно нужно для бекенда сайта на PHP, когда весь смысл бекенда: получить запрос, достать данные из базы, отдать данные обратно и... забыть про все, что было сделано до следующего раза. Складывается такое впечатление, что у программистов какой-то лютый комплекс неполноценности. Ввиду отсутствия чего-либо фундаментального в высокоуровневом программировании, они стремятся нагородить всякой дичи, чтобы их работа выглядела более внушительно. С точки зрения реальных инженеров (т.е. не софтовых) это же просто преступление: (условно) вместо 3-х строительных блоков использовать 5, обернув их какой-нибудь "прогрессивной" пленкой, чтобы ценник распух, ну и потом это все каждый год будет дополнительного контроля на тему "не оплавилась ли пленка летом", что удорожает еще и эксплуатацию сооружения.
@KrutaMan
@KrutaMan 2 ай бұрын
Давай Давай Деплой 😂
@ChernayaReka
@ChernayaReka 10 ай бұрын
Куда пропал ?
@dzmitriyskarakhodau3176
@dzmitriyskarakhodau3176 Жыл бұрын
Здравствуйте, интересует вопрос, а не хотели бы Вы, или, возможно, у Вас есть в планах, начать рассказывать про Symfony?
@Abdugoffor_Qodirov
@Abdugoffor_Qodirov 9 ай бұрын
пожалуйста, сделайте 1 задание поменьше, используя DDD внутри laravel
@mihaelkirienko1471
@mihaelkirienko1471 Жыл бұрын
Имя можно разделить на first name и last name)
@pavelbabich4589
@pavelbabich4589 Жыл бұрын
оно в коде так и реализованно
@timur43378
@timur43378 Жыл бұрын
Реестр сотрудников не является адекватным примером предметной области. Для такого приложения не нужно даже городить никакое DDD. Достаточно интерфейса к базе данных с некоторыми проверками. Предметной областью может быть вся фирма, если там действительно есть сложная бизнес-логика. Иначе достаточно CRUD приложения. Сущность не является предметной областью. Короче, слышал звон да не знаю где он, из DDD тут только набор непонятых автором терминов.
@litvinenkow
@litvinenkow 10 ай бұрын
никто никогда при разговоре про DDD не говорит ЗАЧЕМ и КАК с этим потом работать? опять одна вода и 0 путных мыслей, сколько раз еще такие ролики будут иметь место? нахрена к ларавелю это всё прикручивать и изобретать велосипед? как их между собой вязать, если в ларе модели друг к другу вяжутся нормально, как объекты в БД со связами через внешние ключи, то здесь всё, приехали ваши вэлью обжекты существубт сами по себе, как их коннектить друг к другу непонятно, вы проигрываете в скорости, во всём, все сущности у вас теперь атомарны, ни о каких джойнах теперь речи не идёт, вы просто всё разделили, запросов в БД больше, удобства меньше зачем здесь DTO если у вас уже и там ValueObject? хоспади, есть ощущение что вы вообще не понимаете что вы делаете и для чего, это какие-то понты без обоснования, типа смотри как могу никто не отвечает на эти вопросы, загадка остаётся нерешённой
@litvinenkow
@litvinenkow 10 ай бұрын
ладно, в конце вроде нормально раскрыл, забираю свои выебоны обратно
@zxc7613
@zxc7613 10 ай бұрын
++. Как опытный велосипедист, всегда вижу когда педали не в ту сторону крутятся. Нужен адаптированный ДДД под прекрасные модели ларавел, может быть не очень правильный но всё же.
@litvinenkow
@litvinenkow 10 ай бұрын
@@zxc7613 фреймворки для того, чтобы бить по рукам, но когда на уже существующие пытаются наслоить что-то еще своё, я бы пиздил еще и ногами
@zxc7613
@zxc7613 10 ай бұрын
@@litvinenkow ахахахха
@alext5030
@alext5030 5 ай бұрын
Да просто Laravel, так же как и Yii(оба), заточен под Active Record, что соотвествует подходу Database First. Естественно, прикручивание этой дичи (DDD) всегда будет выглядеть, как пришивание второго хвоста и пятй ноги собаке. Было бы понятно, если бы эти любители over engineering-а создавали бы своих моностров БЕЗ фреймворков, но нет...
Владимир Хориков - Domain-driven design: Cамое важное
1:13:59
DotNext — конференция для .NET‑разработчиков
Рет қаралды 58 М.
«Жат бауыр» телехикаясы І 26-бөлім
52:18
Qazaqstan TV / Қазақстан Ұлттық Арнасы
Рет қаралды 434 М.
Vampire SUCKS Human Energy 🧛🏻‍♂️🪫 (ft. @StevenHe )
0:34
Alan Chikin Chow
Рет қаралды 138 МЛН
Domain Driven Design Теория
30:28
Sergei Calabonga
Рет қаралды 8 М.
Go в Domain Driven Design / Дмитрий Анисов (GS Labs)
43:31
Алексей Мерсон - Domain-driven design: рецепт для прагматика
58:57
DotNext — конференция для .NET‑разработчиков
Рет қаралды 62 М.
Чистая архитектура и Domain-Driven Design
1:55:56
«Жат бауыр» телехикаясы І 26-бөлім
52:18
Qazaqstan TV / Қазақстан Ұлттық Арнасы
Рет қаралды 434 М.