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

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

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

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

26 күн бұрын

Что такое 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 24 күн бұрын
Ну прям булочка, такой радостный и довольный сидит 🙂
@tanercoder1915
@tanercoder1915 23 күн бұрын
Предлагаю сделать серию видосов каждый сеньор должен знать. Отличный контент
@PavelKhapaliuk
@PavelKhapaliuk 22 күн бұрын
Поддерживаю!
@AndreyPovstyanko
@AndreyPovstyanko 17 күн бұрын
Спасибо за классный обзор DI ! Либо я все сильно упрощаю, либо все реально сильно проще, но как по мне DI - разработка на уровне интерфейсов, а не конкретных реализаций. Получается мы просто создаем интерфейс который компонент А будет использовать, а потом уже любой другой компонент Б должен реализовать этот интерфейс.
@DmitryBelykh
@DmitryBelykh 24 күн бұрын
Браво! Отличное объяснение
@ihorsudenko864
@ihorsudenko864 23 күн бұрын
лучший
@user-bk3ty7kh3o
@user-bk3ty7kh3o 24 күн бұрын
сделай tutorial по Tiny Invert. очень надо
@danilka6295
@danilka6295 24 күн бұрын
данное видео идеально показывает то, что 'компоненты' в реакте не очень то и похожи на компоненты, а являются обычными функциями, которые возвращают значение
@paromovevg
@paromovevg 23 күн бұрын
Так можно было бы сказать, если бы понятие "компонент" не было задано самими авторами React Авторы React назвали функцию которая возвращает React.Element компонентом, и всё. То что это просто функция, никто не отменяет
@danilka6295
@danilka6295 23 күн бұрын
@@paromovevg это вводит в заблуждение разработчиков не только из других сфер, но даже тех же фронтендеров, которые до этого с реактом не работали, можно было использовать такое понятие, как template в видео же показано решение проблемы 'компонентов' в реакте, поскольку в других инструментах это решается гораздо легче, но конечно, само по себе видео хорошо объясняет принцип)
@paromovevg
@paromovevg 23 күн бұрын
@@danilka6295 То что я не особо думал о людях которые не знают React -- правда моя ошибка. Признаю
@IvanSneg001
@IvanSneg001 14 күн бұрын
​@@paromovevg🎉
@Markeldo
@Markeldo 24 күн бұрын
Огонь. Быстро и понятно... А... Я на 1.5 скорости послушал... Но всё равно понятно. Такое бы видео полтора года назад, чтобы я мог объяснить коллегам по работе, чем их компонента была плоха
@d0paminer
@d0paminer 23 күн бұрын
Коммент в поддержку
@HIghtowerSever
@HIghtowerSever 24 күн бұрын
Спасибо, Женя. Только одна просьба, на экране редактора кода масштабируй текст плиз. Раза в 3-4. место же позволяет?
@amat0ru
@amat0ru 24 күн бұрын
@paromovevg вы б хотя б продемонстрировали как использовать вашу либу с реактом. или это будет следующее видео?
@user-zk6tw7rj1t
@user-zk6tw7rj1t 23 күн бұрын
Оказывается это так просто, а то некоторые типы так загоняют.. походу сами не понимат))
@kirills4631
@kirills4631 24 күн бұрын
SPA на реакте тот еще глобус с совами) Поймал себя на мысли, что на примерах разбивки компонентов можно объяснять и single responsobility, и Coupling/Cohesion и наверное еще много все умного
@paromovevg
@paromovevg 23 күн бұрын
По факту React компонент это функция. Что и SRP применим к функциям, и вообще все принципы программирования я думаю, никто не спорит
@aleksandrakreev5297
@aleksandrakreev5297 22 күн бұрын
Хотелось бы чуть больше инфы про недостатки применения dependency inversion
@user-xs2dx2mh3f
@user-xs2dx2mh3f 24 күн бұрын
Эта библиотека - типа аналог @Autowired в java?
@kirills4631
@kirills4631 24 күн бұрын
Tiny Invert это же по сути реализация inversion of control container? Слой для связывания абстрактных интерфейсов с их реализациями и доступа к ним
@paromovevg
@paromovevg 23 күн бұрын
По факту да, упрощает связывание абстракций с реализациями Его можно и к inversion of control притянуть, но такой концептуальной мысли я в него не закладывал
@user-xs2dx2mh3f
@user-xs2dx2mh3f 24 күн бұрын
Спасибо за разбор темы. А в чём отличие от dependency injection?
@paromovevg
@paromovevg 24 күн бұрын
Dependency injection - это инструмент, который позволяет удобно делать dependency inversion Мой tiny invert по факту замена dependency injection
@user-uz8qg6hf8p
@user-uz8qg6hf8p 24 күн бұрын
Интересно, как компонент А зависит от В? А если из А в B будут проброшены пропсы?
@paromovevg
@paromovevg 24 күн бұрын
Сам факт импорта уже зависимость. Компонент B может быть переименован перенесен, поменять интерфейс или логику. Все приведет к изменениям A
@user-kv7lo2hu6b
@user-kv7lo2hu6b 18 күн бұрын
К примеру, если пропсы изменяться в компоненте B, то A надо рефакторить
@user-bi1gv7yu9k
@user-bi1gv7yu9k 24 күн бұрын
Нужен пример использования до/после и тд
@MsSofull
@MsSofull 24 күн бұрын
🔄 Зависимость от конкретных реализаций усложняет код и препятствует его повторному использованию. ⬆ Инверсия зависимостей - это инструмент, позволяющий абстрагироваться от реализации и управлять потоками зависимостей. 🔗 Инверсия зависимостей заключается в том, что абстрактный класс зависит от интерфейсов, а конкретные классы реализуют эти интерфейсы. 🛠 Инверсия зависимостей используется для улучшения тестируемости, расширяемости и гибкости кода. 💪 Архитектор должен уметь применять инверсию зависимостей для проектирования надежных и гибких систем.
@user-cj8sn6ej3l
@user-cj8sn6ej3l 24 күн бұрын
Лайкосиков этому господину!
@artemunix5223
@artemunix5223 22 күн бұрын
покажешь как это реализовать на vue nuxt? )))
@paromovevg
@paromovevg 22 күн бұрын
Там беда Но почти всегда спасают слоты с параметрами, те же рендер пропсы
@artemunix5223
@artemunix5223 22 күн бұрын
@@paromovevg покажешь расскажешь?)))
@Iamizart
@Iamizart 24 күн бұрын
Все сеньоры в сборе?!
@user-sw4ed4gh9n
@user-sw4ed4gh9n 23 күн бұрын
При всем желании не могу понять, каким это образом у нас меняется так называемое направление зависимостей. В чём концептуальная разница между кейсами, где наш компонент что-то заимпортил и где он взял это что-то пропсами? Ну да, у нас более универсальный модуль, да мы зависим не от конкретного пропса, а от n-ого пропса, имеющего определённый интерфейс. А где тут стрелочка то поворачивается?
@paromovevg
@paromovevg 23 күн бұрын
Самая гравная разница, кто является держателем типа. Раньше компонент B теперь компонент А Теперь компонент А меняется только при изменении своих собственных типов
@izzy7541
@izzy7541 24 күн бұрын
16:54 Мне же не послышалось? 😂
@user-bk3ty7kh3o
@user-bk3ty7kh3o 24 күн бұрын
какой ты умничка. заметил, что человек оговорился
@user-kv7lo2hu6b
@user-kv7lo2hu6b 18 күн бұрын
молодец
@uicodeuz
@uicodeuz 24 күн бұрын
Первый ❤
@kitsunaana9783
@kitsunaana9783 24 күн бұрын
умничка, есть повод для гордости
@uicodeuz
@uicodeuz 24 күн бұрын
@@kitsunaana9783 ага, стал лучше понимать dependency inversion
КАК СПРЯТАТЬ КОНФЕТЫ
00:59
123 GO! Shorts Russian
Рет қаралды 3,2 МЛН
Sigma Girl Education #sigma #viral #comedy
00:16
CRAZY GREAPA
Рет қаралды 94 МЛН
They RUINED Everything! 😢
00:31
Carter Sharer
Рет қаралды 11 МЛН
Хочу стать Junior React
18:42
Y_LAB University
Рет қаралды 3,9 М.
Лучшая Front-end Архитектура в 2023
25:20
Евгений Паромов | Front-end
Рет қаралды 13 М.
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 735 М.
Инверсия зависимостей. SOLID для React
9:33
Михаил Непомнящий
Рет қаралды 9 М.
Собеседование на Tech Lead программиста в США
7:18
Миша Ларченко
Рет қаралды 12 М.
Куда положить типы? Простые советы | При чём здесь DDD
18:12
Евгений Паромов | Front-end
Рет қаралды 2,5 М.
React Compiler: In-Depth Beyond React Conf 2024
15:16
Jack Herrington
Рет қаралды 68 М.
iPhone 12 socket cleaning #fixit
0:30
Tamar DB (mt)
Рет қаралды 18 МЛН
Carregando telefone com carregador cortado
1:01
Andcarli
Рет қаралды 2,2 МЛН
Выложил СВОЙ АЙФОН НА АВИТО #shorts
0:42
Дмитрий Левандовский
Рет қаралды 1,7 МЛН