Dependency Injection / Внедрение зависимостей / Вопросы на собеседовании по программированию

preview_player
Показать описание
#dependecyinjection #dicontainer #ioc #паттерн
За последний месяц мне пришлось участвовать в 5 собеседованиях с кандидатами разного уровня. Во всех собеседованиях был вопрос про Dependency Injection или Внедрение Зависимостей, если по-русски.

В лучшем случае ответ сводился к формулировке в духе того, что DI - это фишка в .NET Core, которая позволяет инжектировать сервисы в контроллеры.

Такой ответ больше годится к вопросу о примерах использования DI, но не поясняет суть паттерна.

Самое странное, что даже кандидаты, блиставшие огромным опытом, не могли толком ответить.

Я рекомендую ознакомиться с этим паттерном всем программистам, особенно перед собеседованием, поскольку эта тема довольно актуальна.

В интернете полно разжеванной информации по этому паттерну, но раз уж вы здесь, я попытаюсь как можно проще объяснить концепцию DI.
Рекомендации по теме
Комментарии
Автор

Почему ты не снимаешь другие видео по программированию. С таким объяснением и примерами тебе цены нет💪

speedrages
Автор

Почему застрял? Давай новые ролики. Голос отличный. Ролик лаконичный. Требую продолжения банкета!

AndriiNikolaiev
Автор

На данный момент, это лучшее объяснение DI, которое я встречал!

Revenant
Автор

госпади, здоровье тебе и твоим родственникам, это просто самое божественное, краткое и емкое объяснение DI.

jarjarbinks
Автор

2 года прошло, а до сих пор лучшее объяснение, советую всем нашим джунам)

minimalstory
Автор

Очень хорошо объяснено. Давай в догонку IoC и так по всем основным понятиям.

aoveden
Автор

Это лучшее, что мог найти, простыми словами, порт для устройства. Круто Спасибо! Побольше б таких видео.

gennadyga
Автор

самый лаконичный и доходчиво ответ. браво!

burningdaylight
Автор

😯 Моё лицо когда посмотрел видео про DI, а понял что такое moq и для чего он по сути нужен))))

evildaimyo
Автор

Я всё ещё не понимаю, зачем придумывать специальные названия для здравого смысла? Приходишь на собеседование, а тебе там "а что такое тындрение залысенностей?". сиди и думай блин. потом окажется, что это паттерн разделения своей ноги и направления выстрела

meosaganami
Автор

Офигеть, принцип инверсии зависимостей и композицию выделили аж в отдельный паттерн 😂

ix
Автор

Есть достаточно удачная формулировка: "класс должен зависеть от абстракции, а не от конкретной реализации", и далее можно рассказать про агрегацию в виде передачи параметра типа интерфейса в конструктор класса и что этот подход является эволюцией фабричного метода 🙂

apdgslfhsodbna
Автор

Это просто гениальное объяснение!!! Спасибо 🙏👏👏👏👏

liyaguliaieva
Автор

Как раз готовлюсь к собеседованиям. Ролик очень полезен. Спасибо!

tov
Автор

Очень круто, сколько юзал данный подход, но не знал что
То и есть di

kanybekmomukeev
Автор

хмм, не знаю почему, быть может просто настало время, но именно на этом ролике я начал более менее понимать, зачем нужен этот паттерн проектирования

TheKirk
Автор

Вот так надо







Внедрение зависимости (англ. Dependency injection, DI) — процесс предоставления внешней зависимости программному компоненту. Является специфичной формой «инверсии управления» (англ. Inversion of control, IoC), когда она применяется к управлению зависимостями. В полном соответствии с принципом единственной ответственности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму[1].

teawizzard
Автор

Я не знаю зачем мне Ютуб выплюнул это видео, видимо чтобы я оставил тебе коммент =)
Я часто сталкиваюсь с тем, что у собеседников переплетено понятие внедрения зависимостей и инверсии зависимостей (хотя в целом, с точки зрения реализации без контейнера выглядит одинаково и их тут нечего судить), ну и даже если программист понимает теорию внедрения, то не может ответить в чем же его минусы, а ведь о них написано не так много и обычно понимаешь только набив пару шишек. В общем, я бы добавил такую инфу в видео, чтобы получилось поставить точку над i.
Удачи!)

Павел-чин
Автор

Идеально! столько болтовни вокруг этой херни, а туту хрясь пара скринов и все сразу ясно)) Для Java это тоже подходит

pawsdev
Автор

Ещё один положительный момент а ДИ это возможность поумничать перед кандидатом😂

SergeyDovbenko