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

Sdílet
Vložit
  • čas přidán 11. 05. 2024
  • Что такое 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
  • Věda a technologie

Komentáře • 43

  • @ozevas
    @ozevas Před 23 dny +10

    Ну прям булочка, такой радостный и довольный сидит 🙂

  • @tanercoder1915
    @tanercoder1915 Před 23 dny +5

    Предлагаю сделать серию видосов каждый сеньор должен знать. Отличный контент

  • @DmitryBelykh
    @DmitryBelykh Před 23 dny +2

    Браво! Отличное объяснение

  • @AndreyPovstyanko
    @AndreyPovstyanko Před 16 dny +1

    Спасибо за классный обзор DI ! Либо я все сильно упрощаю, либо все реально сильно проще, но как по мне DI - разработка на уровне интерфейсов, а не конкретных реализаций. Получается мы просто создаем интерфейс который компонент А будет использовать, а потом уже любой другой компонент Б должен реализовать этот интерфейс.

  • @ihorsudenko864
    @ihorsudenko864 Před 22 dny +3

    лучший

  • @danilka6295
    @danilka6295 Před 23 dny +4

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

    • @paromovevg
      @paromovevg  Před 23 dny +2

      Так можно было бы сказать, если бы понятие "компонент" не было задано самими авторами React
      Авторы React назвали функцию которая возвращает React.Element компонентом, и всё. То что это просто функция, никто не отменяет

    • @danilka6295
      @danilka6295 Před 23 dny

      @@paromovevg это вводит в заблуждение разработчиков не только из других сфер, но даже тех же фронтендеров, которые до этого с реактом не работали, можно было использовать такое понятие, как template
      в видео же показано решение проблемы 'компонентов' в реакте, поскольку в других инструментах это решается гораздо легче, но конечно, само по себе видео хорошо объясняет принцип)

    • @paromovevg
      @paromovevg  Před 23 dny +1

      @@danilka6295 То что я не особо думал о людях которые не знают React -- правда моя ошибка. Признаю

    • @IvanSneg001
      @IvanSneg001 Před 13 dny

      ​@@paromovevg🎉

  • @amat0ru
    @amat0ru Před 23 dny +2

    @paromovevg вы б хотя б продемонстрировали как использовать вашу либу с реактом. или это будет следующее видео?

  • @user-bk3ty7kh3o
    @user-bk3ty7kh3o Před 23 dny +3

    сделай tutorial по Tiny Invert. очень надо

  • @HIghtowerSever
    @HIghtowerSever Před 23 dny +3

    Спасибо, Женя. Только одна просьба, на экране редактора кода масштабируй текст плиз. Раза в 3-4. место же позволяет?

  • @user-xs2dx2mh3f
    @user-xs2dx2mh3f Před 23 dny

    Эта библиотека - типа аналог @Autowired в java?

  • @d0paminer
    @d0paminer Před 23 dny

    Коммент в поддержку

  • @Markeldo
    @Markeldo Před 23 dny

    Огонь. Быстро и понятно... А... Я на 1.5 скорости послушал... Но всё равно понятно. Такое бы видео полтора года назад, чтобы я мог объяснить коллегам по работе, чем их компонента была плоха

  • @kirills4631
    @kirills4631 Před 23 dny

    SPA на реакте тот еще глобус с совами)
    Поймал себя на мысли, что на примерах разбивки компонентов можно объяснять и single responsobility, и Coupling/Cohesion и наверное еще много все умного

    • @paromovevg
      @paromovevg  Před 23 dny

      По факту React компонент это функция.
      Что и SRP применим к функциям, и вообще все принципы программирования я думаю, никто не спорит

  • @kirills4631
    @kirills4631 Před 23 dny

    Tiny Invert это же по сути реализация inversion of control container? Слой для связывания абстрактных интерфейсов с их реализациями и доступа к ним

    • @paromovevg
      @paromovevg  Před 23 dny

      По факту да, упрощает связывание абстракций с реализациями
      Его можно и к inversion of control притянуть, но такой концептуальной мысли я в него не закладывал

  • @user-uz8qg6hf8p
    @user-uz8qg6hf8p Před 23 dny

    Интересно, как компонент А зависит от В? А если из А в B будут проброшены пропсы?

    • @paromovevg
      @paromovevg  Před 23 dny

      Сам факт импорта уже зависимость. Компонент B может быть переименован перенесен, поменять интерфейс или логику. Все приведет к изменениям A

    • @user-kv7lo2hu6b
      @user-kv7lo2hu6b Před 17 dny

      К примеру, если пропсы изменяться в компоненте B, то A надо рефакторить

  • @aleksandrakreev5297
    @aleksandrakreev5297 Před 22 dny

    Хотелось бы чуть больше инфы про недостатки применения dependency inversion

  • @user-zk6tw7rj1t
    @user-zk6tw7rj1t Před 22 dny +1

    Оказывается это так просто, а то некоторые типы так загоняют.. походу сами не понимат))

  • @user-xs2dx2mh3f
    @user-xs2dx2mh3f Před 23 dny

    Спасибо за разбор темы. А в чём отличие от dependency injection?

    • @paromovevg
      @paromovevg  Před 23 dny

      Dependency injection - это инструмент, который позволяет удобно делать dependency inversion
      Мой tiny invert по факту замена dependency injection

  • @MsSofull
    @MsSofull Před 23 dny

    🔄 Зависимость от конкретных реализаций усложняет код и препятствует его повторному использованию.
    ⬆ Инверсия зависимостей - это инструмент, позволяющий абстрагироваться от реализации и управлять потоками зависимостей.
    🔗 Инверсия зависимостей заключается в том, что абстрактный класс зависит от интерфейсов, а конкретные классы реализуют эти интерфейсы.
    🛠 Инверсия зависимостей используется для улучшения тестируемости, расширяемости и гибкости кода.
    💪 Архитектор должен уметь применять инверсию зависимостей для проектирования надежных и гибких систем.

  • @user-bi1gv7yu9k
    @user-bi1gv7yu9k Před 23 dny +1

    Нужен пример использования до/после и тд

  • @user-sw4ed4gh9n
    @user-sw4ed4gh9n Před 22 dny

    При всем желании не могу понять, каким это образом у нас меняется так называемое направление зависимостей. В чём концептуальная разница между кейсами, где наш компонент что-то заимпортил и где он взял это что-то пропсами? Ну да, у нас более универсальный модуль, да мы зависим не от конкретного пропса, а от n-ого пропса, имеющего определённый интерфейс. А где тут стрелочка то поворачивается?

    • @paromovevg
      @paromovevg  Před 22 dny

      Самая гравная разница, кто является держателем типа. Раньше компонент B теперь компонент А
      Теперь компонент А меняется только при изменении своих собственных типов

  • @artemunix5223
    @artemunix5223 Před 22 dny

    покажешь как это реализовать на vue nuxt? )))

    • @paromovevg
      @paromovevg  Před 21 dnem

      Там беда
      Но почти всегда спасают слоты с параметрами, те же рендер пропсы

    • @artemunix5223
      @artemunix5223 Před 21 dnem

      @@paromovevg покажешь расскажешь?)))

  • @Iamizart
    @Iamizart Před 23 dny

    Все сеньоры в сборе?!

  • @user-cj8sn6ej3l
    @user-cj8sn6ej3l Před 23 dny

    Лайкосиков этому господину!

  • @uicodeuz
    @uicodeuz Před 23 dny

    Первый ❤

    • @kitsunaana9783
      @kitsunaana9783 Před 23 dny

      умничка, есть повод для гордости

    • @uicodeuz
      @uicodeuz Před 23 dny

      @@kitsunaana9783 ага, стал лучше понимать dependency inversion

  • @izzy7541
    @izzy7541 Před 23 dny

    16:54 Мне же не послышалось? 😂

    • @user-bk3ty7kh3o
      @user-bk3ty7kh3o Před 23 dny

      какой ты умничка. заметил, что человек оговорился

    • @user-kv7lo2hu6b
      @user-kv7lo2hu6b Před 17 dny

      молодец