Тёмный

Inversion of Control, Dependency Injection, DI Container - что это такое и кто все эти люди? 

R class Tech
Подписаться 12 тыс.
Просмотров 19 тыс.
50% 1

В этом видео мы поговорим о:
- Inversion of Control (Инверсия управления, инверсия контроля)
- Dependency Injection (Инъекция зависимостей, внедрение зависимостей)
- Dependency Injection Container (DI Container)
- Service Locator
Расскажем что это такое и покажем реализацию этих штук на примере PHP.
Пачка примеров и мемасиков, всё как обычно :)
Презентация:
docs.google.com/presentation/...

Опубликовано:

 

29 апр 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 119   
@user-nf1td4hh7y
@user-nf1td4hh7y Месяц назад
Антон, вы супер объясняете! Спасибо!
@Rclass
@Rclass Месяц назад
Спасибо, стараемся :)
@nikitanyn4980
@nikitanyn4980 Год назад
Топ спикер, смотрю для того, что непонятно очевидно при написании кода. Всем советую! в 2023 актуально
@Rclass
@Rclass Год назад
Спасибо за приятный отзыв :)
@user-si4qz6ps9o
@user-si4qz6ps9o Месяц назад
ведущий позитивный, класс)
@Rclass
@Rclass Месяц назад
Спасибо, мы стараемся)
@user-np8hb3sj6p
@user-np8hb3sj6p 3 года назад
Всё максимально интересно понятно и доступно рассказано, спасибо большое!
@pozytron-code
@pozytron-code 3 года назад
человек не успел рассказать, 5 минут назад всё началось - но уже доступно рассказано?)))) magic ))
@Rclass
@Rclass 3 года назад
Он тот, кто осилил С++ за 21 день. Если вы понимаете о чем я :)
@IvanBlaBlaBla
@IvanBlaBlaBla 3 года назад
Как всегда - лучше один раз увидеть, чем два раза прочитать ))
@Rclass
@Rclass 3 года назад
Именно так :)
@romanliapkin5174
@romanliapkin5174 2 года назад
Я раз 30 читал , непонятно было.
@alekseykononenko7897
@alekseykononenko7897 3 месяца назад
Всё понятно и доступно, осталось только применить полученные знания на практике. Большое спасибо!
@Rclass
@Rclass 3 месяца назад
Спасибо, мы старались сделать понятно :)
@AlexeySivak
@AlexeySivak Год назад
Ребята, Спасибо! Все оказалось проще чем догадывалось. Форма подачи отличная - это талант. Поразило как php схож с c# и вся эта ранее странная бодяга php с asp.
@Rclass
@Rclass Год назад
Пожалуйста :) Да по большому счету главное понимать суть, а язык лишь инструмент :)
@mr.cannabis471
@mr.cannabis471 3 года назад
Спасибо, наконец то стало намного понятнее. Но уверен буду пересматривать ещё раз 10)
@Rclass
@Rclass 3 года назад
Спасибо, мы старались :)
@specificcross
@specificcross 10 месяцев назад
Класно! Пересмотрев кучу роликов на ютубе на эту тему, а там всё на непонятном языке - будто я при просмотре уже должен знать что такое DI и IoC. И наткнулся на этот канал, после просмотра всё стало понятно ( и это с учетом того , что я в жизни не писал на Php )
@Rclass
@Rclass 10 месяцев назад
Спасибо! Очень приятно что смогли вам помочь разобраться в этой теме :)
@cumar8585
@cumar8585 Год назад
Шикарный лектор умеет рассказать интересно, понятно и не скучно.
@Rclass
@Rclass Год назад
Спасибо большое, стараемся для вас :)
@user-mr9by3jv8t
@user-mr9by3jv8t 11 месяцев назад
Лучшее объяснение!
@Rclass
@Rclass 11 месяцев назад
Спасибо!
@BakhtiyorBahriddinov
@BakhtiyorBahriddinov 10 месяцев назад
Автору респект. Объясняет простым и понятным языком и еще с конкретными примерами. Уважуха 🙏
@Rclass
@Rclass 9 месяцев назад
Спасибо, мы старались :)
@ruPhotoLamb
@ruPhotoLamb Год назад
Прекрасная пподача материала! Спасибо за простые примеры и наглядные слайды 👍
@Rclass
@Rclass Год назад
Спасибо за отклик :) Мы старались :)
@erikdeveloper
@erikdeveloper Год назад
Супер доклад, нравится когда рассказываешь своим языком, без академических терминов 😅
@Rclass
@Rclass Год назад
Спасибо, стараемся для вас)
@dkorotaeva
@dkorotaeva 3 года назад
Ничего не понятно, но очень интересно - так было до этого видоса) Теперь все понятно, спасибо! Буду смотреть ещё!))
@Rclass
@Rclass 3 года назад
Спасибо, мы старались :)
@yuryitikhonoff9631
@yuryitikhonoff9631 2 года назад
Cool. Great manner of explanation. I wish all hosts of coding conferences use such a manner instead of bunch of silly memes. Good job.
@Rclass
@Rclass 2 года назад
Thanks! We also like memes but use them only for illustrative purposes.
@rusichvil
@rusichvil Год назад
Спасибо за интересное видео! Отдельный плюс за подачу материала!
@Rclass
@Rclass Год назад
Спасибо что с нами :) Стараемся для вас :)
@user-ok8dp3mt1w
@user-ok8dp3mt1w 2 месяца назад
Очень круто розжевал. Иногда автор затачивает видео под какой-то конкретный язык что на мое мнение не является правильным так как язык это просто инструмент. В этом видео все будет понятно в не зависимости от языка программирования. Спасибо)
@Rclass
@Rclass 2 месяца назад
Именно этого и хотелось добиться, спасибо :)
@danilx6239
@danilx6239 Год назад
Очень круто, не ожидал. Всё понятно, не скучно и супер-подробно. Не смотря на то, что я пишу на JS, ваши примеры помогли понять основную суть. Только не понял, откуда берется файл конфига и почему емеил и id-телеграмма туда уже зашити. Но это наверное больше пхп-тема, а не JS... Спасибо за материал!
@Rclass
@Rclass Год назад
Спасибо, мы старались сделать понятно :)
@bra1nlagwe
@bra1nlagwe 3 года назад
Здорово! буквально на пальцах с примерами и мемасиками!)
@Rclass
@Rclass 3 года назад
Спасибо, мы старались :)
@kudrvet
@kudrvet 3 года назад
Классный контент! Разжевано и с примерами ! Продолжайте в том же духе)
@Rclass
@Rclass 3 года назад
Спасибо, мы старались :)
@alenka_mak
@alenka_mak Год назад
Великолепно изложено! Антон просто супер спикер))))
@Rclass
@Rclass Год назад
Спасибо :)
@kafychannel
@kafychannel Год назад
получил удовольствие, спасибо огромное :))
@Rclass
@Rclass Год назад
Спасибо за отклик, мы старались :)
@user-ve7dz4mt6s
@user-ve7dz4mt6s 3 года назад
Спасибо как всегда🙏🙏 Такая инфа полезная ещё и бесплатно!!
@Rclass
@Rclass 3 года назад
Спасибо, мы старались :)
@rvkrasyl
@rvkrasyl Год назад
Крута подача матеріалу, дуже дякую за відео
@Rclass
@Rclass Год назад
будь ласка!
@saharaprotocol289
@saharaprotocol289 7 месяцев назад
Спасибо мужик.
@Rclass
@Rclass 7 месяцев назад
Для вас стараемся)
@gekka-group
@gekka-group Год назад
Очень много видео смотерл по этой теме и читал статьи на хабре, но этот видеоролик самый ценный из всех что я позновал по DI
@Rclass
@Rclass Год назад
Спасибо за приятный отклик :)
@user-ei5ve3zl7k
@user-ei5ve3zl7k 3 года назад
Круто, не забрасывайте контент. Благодаря вам освоил базу по бд.
@OkulovAnton
@OkulovAnton 3 года назад
Круто! Вам спасибо что смотрите :)
@Rclass
@Rclass 3 года назад
Спасибо что вы с нами :)
@DIMANVAZ04
@DIMANVAZ04 Год назад
Вы лучший. Хоть я и джаваскриптизёр.
@Rclass
@Rclass Год назад
Спасибо! Джавскриптизёр - это надо запомнить. Все мы нет-нет да и джаваскриптизёры.
@twentxx
@twentxx Год назад
Докладчик топ 🔝👍 Жги ещё 😅
@Rclass
@Rclass Год назад
Спасибо, мы старались)
@Dethrockerbass
@Dethrockerbass Год назад
Не знаю, как я сюда попал, но теперь понял, как работает (внезапно) спринг. Спасибо!
@Rclass
@Rclass Год назад
Всегда пожалуйста :)
@web_kub
@web_kub 3 года назад
Супер, спасибо! Все стало ясно!
@Rclass
@Rclass 3 года назад
Спасибо, мы старались :)
@user-kq3oo1dx4v
@user-kq3oo1dx4v 7 месяцев назад
Отлично, весело, и просто! Маладец!!!!
@Rclass
@Rclass 6 месяцев назад
Стараемся для вас :)
@fazleev
@fazleev 2 года назад
Великолепное объяснение
@Rclass
@Rclass 2 года назад
Спасибо, мы старались :)
@ProRezak
@ProRezak 3 года назад
Давно следую DI, но только теперь все стало ясно от и до. Спасибо
@Rclass
@Rclass 3 года назад
Спасибо, мы старались :)
@underpershin
@underpershin Год назад
Отличное виде, спасибо!!!❤
@Rclass
@Rclass Год назад
Стараемся для вас :)
@winstonwolf2981
@winstonwolf2981 Год назад
Отличное объяснение, спасибо
@Rclass
@Rclass Год назад
Спасибо, для вас стараемся :)
@mohamednabil9509
@mohamednabil9509 11 месяцев назад
Great explanation
@Rclass
@Rclass 11 месяцев назад
Thx!
@user-bv8tl7mh9j
@user-bv8tl7mh9j 3 года назад
Лайк за примеры👍 Понять получилось быстрее в отличие от чтения документации
@AlexKhaizeman
@AlexKhaizeman 3 года назад
Поэтому и пришлось снять... Я прочитала документацию и отправила мужика-на-фоне-ковра :(
@Rclass
@Rclass 3 года назад
А как же лайк за мемасы(
@AlexKhaizeman
@AlexKhaizeman 3 года назад
Лайк за мемасы =)
@Mr43046721
@Mr43046721 Год назад
Очень крутой рассказчик))
@Rclass
@Rclass Год назад
Спасибо, очень приятно ^_^
@username739
@username739 2 года назад
Подписка однозначно)
@Rclass
@Rclass 2 года назад
Спасибо, мы старались :)
@kaktusv6
@kaktusv6 2 года назад
Кайфовая презентация
@Rclass
@Rclass 2 года назад
Спасибо, мы старались :)
@awesomegamedev
@awesomegamedev Год назад
Хорошее объяснение и видео, но Dependency Injection, начиная с 24:08 похоже на ООП головного мозга. Вместо того, что нам предоставляет язык, мы (вернее создатели фреймворка) наинженерили свой "язык" в виде объекта конфигурации, который я на 99% уверен не строго-типизированный, а значит которому будет свойственна ранее описанная проблема: код (редкая, но дорогая покупка) упадёт только, когда до него дойдёт исполнение. При этом с Service Locator по сути описана только одна проблема: нестрогая типизация и соответствующая возможность подставить что угодно во что угодно, и она решается ... использованием строго типизированного языка (внезапно). Я не знаток PHP, но на TypeScript можно просто объявить объект: const Locator = { notifySender: new EmailNotifySender('asdf'), userLoggerNotifier: new UserLoggedNotifier(), } И если хоть какого-то метода где-то будет не-хватать, то код просто не скомпилится. Да, это глобальный объект, но Dependency Injection Container - это по сути тоже глобальный объект, просто неявный. А из-за того, что он неявный, кстати, тоже возникает куча проблем по типу невозможности нормально использовать в редакторе кода функции "Find all references". Мне приходилось работать в одном таком проекте и разбираться в магических скрытых связях того, что откуда что вызывает.
@Rclass
@Rclass Год назад
Нет желания вас переубеждать. Если вас устраивает сервис-локатор и вы не сталкиваетесь с проблемами, при его использовании, то тогда нет смысла его менять на DI :)
@alexandrmakovkin7364
@alexandrmakovkin7364 Год назад
классно объяснил. было бы не плохо основные паттерны программирования послушать
@Rclass
@Rclass Год назад
Не первый раз уже получаю такие запросы, можно попробовать
@alexandrmakovkin7364
@alexandrmakovkin7364 Год назад
@@Rclass спасибо. с DI получилось отлично.
@ardixq
@ardixq 2 года назад
норм обьясняешь
@Rclass
@Rclass 2 года назад
Спасибо, мы старались :)
@websoda
@websoda 3 года назад
привет с ютуба
@OkulovAnton
@OkulovAnton 3 года назад
Привет, Саня!
@Rclass
@Rclass 3 года назад
Привет! 👋
@jlvby
@jlvby Месяц назад
У Зандстры в книге есть рекурсивный DI-контейнер
@Rclass
@Rclass Месяц назад
🚀
@DIEsel27031992
@DIEsel27031992 Год назад
Есть ли способ как-то отлавливать ошибки регистрации реализаций для интерфейсов в контейнере (например, отсутствие реализации для какого-то интерфейса, которую забыли указать) во время компиляции, а не в рантайме?
@Rclass
@Rclass Год назад
Если я ничего не путаю, то Symfony при компиляции кеша так и делает. Но это все равно по большому счету рантайм. Как в C# / Java не подскажу( Скорее зависит от конкретной реализации.
@DIEsel27031992
@DIEsel27031992 Год назад
@@Rclass про Delphi можно не спрашивать? 😀
@andreysvitlov7807
@andreysvitlov7807 3 года назад
а какая будет структура классов и код если надо отправить и/или по email и telegram в зависимости от настроек пользователя ? и не на email указаный при инициализации а на email пользователя ?
@Rclass
@Rclass 3 года назад
В каждом отдельном случае надо рассматривать ситуацию отдельно :)
@SemyonF89
@SemyonF89 6 месяцев назад
Вот с таким тимЛидом можно работать!
@Rclass
@Rclass 6 месяцев назад
Ну так мы и работаем :) И очень довольны :)
@SemyonF89
@SemyonF89 6 месяцев назад
@@Rclass Везёт :D
@wickedtorpedo75
@wickedtorpedo75 2 месяца назад
хочется чтобы учитель был моим тимлидом в проекте
@Rclass
@Rclass 2 месяца назад
Спасибо, стараемся :)
@alexanderstepin
@alexanderstepin Год назад
А в чем отличие service locator от паттерна реестр(registry)?
@Rclass
@Rclass Год назад
По сути ни в чем :)
@kavabanger88
@kavabanger88 7 месяцев назад
Так ДИ это тот же сервис локатор, просто механизм этот сам подставляет компоненты куда надо а не мы ручками?
@Rclass
@Rclass 7 месяцев назад
В этом и есть их различие)
@litvinenkow
@litvinenkow Год назад
laravel конечно круче это всё делает и думать не надо, но в symfony немножко всё-таки думать придётся)
@Rclass
@Rclass Год назад
Рано или поздно надо будет думать) И вот лучше рано, как показывает практика :)
@user-yr9rq7we2n
@user-yr9rq7we2n 8 месяцев назад
Факт это что?
@Rclass
@Rclass 8 месяцев назад
Это наш старенький и уже давно заброшенный фреймворк)
Далее
Sigma Girl Education #sigma #viral #comedy
00:16
Просмотров 2 млн
№103: Dependency Injection в JavaScript
26:01
Просмотров 15 тыс.
Dependency Injection & Inversion of Control
11:00
Просмотров 190 тыс.
Базы данных. NoSQL. MongoDB
36:10
Просмотров 28 тыс.
Dependency Injection простыми словами
18:17
Learn Dependency Injection and Write Better Code
21:52
Просмотров 164 тыс.
Sigma Girl Education #sigma #viral #comedy
00:16
Просмотров 2 млн