Dependency Inversion - главный инструмент Архитектора

  Рет қаралды 4,086

Евгений Паромов | Front-end

Евгений Паромов | Front-end

22 күн бұрын

Что такое Dependency Inversion
Примеры реализации
Почему, ты обязан понимать DI
Подписывайтесь на мой telegram канал:
t.me/cleanfrontend
Моя библиотека Tiny Invert:
www.npmjs.com/package/tiny-in...
Курсы:
Redux - micro-courses.ru/course/redux...
FSD - micro-courses.ru/course/fsd-full
00:00:26 - Что такое DI
00:03:20 - Пример реализации DI
00:10:35 - Зачем нужен DI
00:16:52 - Почему ты должен понимать DI
00:22:09 - Типичные примеры использования DI
00:27:50 - Ты даже не знал, что это DI

Пікірлер: 43
@ozevas
@ozevas 21 күн бұрын
Ну прям булочка, такой радостный и довольный сидит 🙂
@tanercoder1915
@tanercoder1915 20 күн бұрын
Предлагаю сделать серию видосов каждый сеньор должен знать. Отличный контент
@PavelKhapaliuk
@PavelKhapaliuk 19 күн бұрын
Поддерживаю!
@DmitryBelykh
@DmitryBelykh 21 күн бұрын
Браво! Отличное объяснение
@AndreyPovstyanko
@AndreyPovstyanko 14 күн бұрын
Спасибо за классный обзор DI ! Либо я все сильно упрощаю, либо все реально сильно проще, но как по мне DI - разработка на уровне интерфейсов, а не конкретных реализаций. Получается мы просто создаем интерфейс который компонент А будет использовать, а потом уже любой другой компонент Б должен реализовать этот интерфейс.
@ihorsudenko864
@ihorsudenko864 19 күн бұрын
лучший
@HIghtowerSever
@HIghtowerSever 21 күн бұрын
Спасибо, Женя. Только одна просьба, на экране редактора кода масштабируй текст плиз. Раза в 3-4. место же позволяет?
@user-bk3ty7kh3o
@user-bk3ty7kh3o 21 күн бұрын
сделай tutorial по Tiny Invert. очень надо
@amat0ru
@amat0ru 20 күн бұрын
@paromovevg вы б хотя б продемонстрировали как использовать вашу либу с реактом. или это будет следующее видео?
@danilka6295
@danilka6295 21 күн бұрын
данное видео идеально показывает то, что 'компоненты' в реакте не очень то и похожи на компоненты, а являются обычными функциями, которые возвращают значение
@paromovevg
@paromovevg 20 күн бұрын
Так можно было бы сказать, если бы понятие "компонент" не было задано самими авторами React Авторы React назвали функцию которая возвращает React.Element компонентом, и всё. То что это просто функция, никто не отменяет
@danilka6295
@danilka6295 20 күн бұрын
@@paromovevg это вводит в заблуждение разработчиков не только из других сфер, но даже тех же фронтендеров, которые до этого с реактом не работали, можно было использовать такое понятие, как template в видео же показано решение проблемы 'компонентов' в реакте, поскольку в других инструментах это решается гораздо легче, но конечно, само по себе видео хорошо объясняет принцип)
@paromovevg
@paromovevg 20 күн бұрын
@@danilka6295 То что я не особо думал о людях которые не знают React -- правда моя ошибка. Признаю
@IvanSneg001
@IvanSneg001 11 күн бұрын
​@@paromovevg🎉
@user-xs2dx2mh3f
@user-xs2dx2mh3f 21 күн бұрын
Эта библиотека - типа аналог @Autowired в java?
@aleksandrakreev5297
@aleksandrakreev5297 19 күн бұрын
Хотелось бы чуть больше инфы про недостатки применения dependency inversion
@d0paminer
@d0paminer 20 күн бұрын
Коммент в поддержку
@Markeldo
@Markeldo 21 күн бұрын
Огонь. Быстро и понятно... А... Я на 1.5 скорости послушал... Но всё равно понятно. Такое бы видео полтора года назад, чтобы я мог объяснить коллегам по работе, чем их компонента была плоха
@kirills4631
@kirills4631 20 күн бұрын
Tiny Invert это же по сути реализация inversion of control container? Слой для связывания абстрактных интерфейсов с их реализациями и доступа к ним
@paromovevg
@paromovevg 20 күн бұрын
По факту да, упрощает связывание абстракций с реализациями Его можно и к inversion of control притянуть, но такой концептуальной мысли я в него не закладывал
@user-zk6tw7rj1t
@user-zk6tw7rj1t 20 күн бұрын
Оказывается это так просто, а то некоторые типы так загоняют.. походу сами не понимат))
@user-uz8qg6hf8p
@user-uz8qg6hf8p 21 күн бұрын
Интересно, как компонент А зависит от В? А если из А в B будут проброшены пропсы?
@paromovevg
@paromovevg 21 күн бұрын
Сам факт импорта уже зависимость. Компонент B может быть переименован перенесен, поменять интерфейс или логику. Все приведет к изменениям A
@user-kv7lo2hu6b
@user-kv7lo2hu6b 15 күн бұрын
К примеру, если пропсы изменяться в компоненте B, то A надо рефакторить
@user-xs2dx2mh3f
@user-xs2dx2mh3f 21 күн бұрын
Спасибо за разбор темы. А в чём отличие от dependency injection?
@paromovevg
@paromovevg 21 күн бұрын
Dependency injection - это инструмент, который позволяет удобно делать dependency inversion Мой tiny invert по факту замена dependency injection
@kirills4631
@kirills4631 20 күн бұрын
SPA на реакте тот еще глобус с совами) Поймал себя на мысли, что на примерах разбивки компонентов можно объяснять и single responsobility, и Coupling/Cohesion и наверное еще много все умного
@paromovevg
@paromovevg 20 күн бұрын
По факту React компонент это функция. Что и SRP применим к функциям, и вообще все принципы программирования я думаю, никто не спорит
@user-bi1gv7yu9k
@user-bi1gv7yu9k 21 күн бұрын
Нужен пример использования до/после и тд
@MsSofull
@MsSofull 21 күн бұрын
🔄 Зависимость от конкретных реализаций усложняет код и препятствует его повторному использованию. ⬆ Инверсия зависимостей - это инструмент, позволяющий абстрагироваться от реализации и управлять потоками зависимостей. 🔗 Инверсия зависимостей заключается в том, что абстрактный класс зависит от интерфейсов, а конкретные классы реализуют эти интерфейсы. 🛠 Инверсия зависимостей используется для улучшения тестируемости, расширяемости и гибкости кода. 💪 Архитектор должен уметь применять инверсию зависимостей для проектирования надежных и гибких систем.
@user-sw4ed4gh9n
@user-sw4ed4gh9n 20 күн бұрын
При всем желании не могу понять, каким это образом у нас меняется так называемое направление зависимостей. В чём концептуальная разница между кейсами, где наш компонент что-то заимпортил и где он взял это что-то пропсами? Ну да, у нас более универсальный модуль, да мы зависим не от конкретного пропса, а от n-ого пропса, имеющего определённый интерфейс. А где тут стрелочка то поворачивается?
@paromovevg
@paromovevg 19 күн бұрын
Самая гравная разница, кто является держателем типа. Раньше компонент B теперь компонент А Теперь компонент А меняется только при изменении своих собственных типов
@artemunix5223
@artemunix5223 19 күн бұрын
покажешь как это реализовать на vue nuxt? )))
@paromovevg
@paromovevg 19 күн бұрын
Там беда Но почти всегда спасают слоты с параметрами, те же рендер пропсы
@artemunix5223
@artemunix5223 19 күн бұрын
@@paromovevg покажешь расскажешь?)))
@Iamizart
@Iamizart 20 күн бұрын
Все сеньоры в сборе?!
@izzy7541
@izzy7541 21 күн бұрын
16:54 Мне же не послышалось? 😂
@user-bk3ty7kh3o
@user-bk3ty7kh3o 21 күн бұрын
какой ты умничка. заметил, что человек оговорился
@user-kv7lo2hu6b
@user-kv7lo2hu6b 15 күн бұрын
молодец
@uicodeuz
@uicodeuz 21 күн бұрын
Первый ❤
@kitsunaana9783
@kitsunaana9783 21 күн бұрын
умничка, есть повод для гордости
@uicodeuz
@uicodeuz 21 күн бұрын
@@kitsunaana9783 ага, стал лучше понимать dependency inversion
@user-cj8sn6ej3l
@user-cj8sn6ej3l 21 күн бұрын
Лайкосиков этому господину!
Инверсия зависимостей. SOLID для React
9:33
Михаил Непомнящий
Рет қаралды 9 М.
ХОТЯ БЫ КИНОДА 2 - официальный фильм
1:35:34
ХОТЯ БЫ В КИНО
Рет қаралды 2,5 МЛН
Black Magic 🪄 by Petkit Pura Max #cat #cats
00:38
Sonyakisa8 TT
Рет қаралды 21 МЛН
когда достали одноклассники!
00:49
БРУНО
Рет қаралды 3,4 МЛН
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 730 М.
Web Scraping AI AGENT, that absolutely works 😍
11:22
1littlecoder
Рет қаралды 11 М.
Мастер и Маргарита: Мессир, мне больше нравится Рим
33:50
Проектируем YouTube - Введение в System Design
12:49
System Design Notes
Рет қаралды 29 М.
СОБЕСЕДОВАНИЕ MIDDLE REACT FRONTEND || ЗП ОТ 230К
1:52:03
ЗАПИСИ СОБЕСОВ
Рет қаралды 5 М.
Power up all cell phones.
0:17
JL FUNNY SHORTS
Рет қаралды 49 МЛН
How much charging is in your phone right now? 📱➡️ 🔋VS 🪫
0:11
Теперь это его телефон
0:21
Хорошие Новости
Рет қаралды 1,7 МЛН
Latest Nokia Mobile Phone
0:42
Tech Official
Рет қаралды 491 М.
ПК с Авито за 3000р
0:58
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 1,5 МЛН