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

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ธ.ค. 2024

ความคิดเห็น •

  • @tanercoder1915
    @tanercoder1915 7 หลายเดือนก่อน +12

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

    • @PavelKhapaliuk
      @PavelKhapaliuk 7 หลายเดือนก่อน

      Поддерживаю!

  • @АнтонМигулев
    @АнтонМигулев 7 หลายเดือนก่อน +6

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

  • @ozevas
    @ozevas 7 หลายเดือนก่อน +12

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

  • @amat0ru
    @amat0ru 7 หลายเดือนก่อน +2

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

  • @xyozy8
    @xyozy8 7 หลายเดือนก่อน +4

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

    • @paromovevg
      @paromovevg  7 หลายเดือนก่อน +2

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

    • @xyozy8
      @xyozy8 7 หลายเดือนก่อน

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

    • @paromovevg
      @paromovevg  7 หลายเดือนก่อน +1

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

    • @IvanSneg001
      @IvanSneg001 7 หลายเดือนก่อน

      ​@@paromovevg🎉

  • @AndreyPovstyanko
    @AndreyPovstyanko 7 หลายเดือนก่อน +1

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

  • @Markeldo
    @Markeldo 7 หลายเดือนก่อน

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

  • @HIghtowerSever
    @HIghtowerSever 7 หลายเดือนก่อน +3

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

  • @aleksandrakreev5297
    @aleksandrakreev5297 7 หลายเดือนก่อน

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

  • @Сергей-э8о6м
    @Сергей-э8о6м 7 หลายเดือนก่อน

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

  • @kirills4631
    @kirills4631 7 หลายเดือนก่อน

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

    • @paromovevg
      @paromovevg  7 หลายเดือนก่อน

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

  • @kirills4631
    @kirills4631 7 หลายเดือนก่อน

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

    • @paromovevg
      @paromovevg  7 หลายเดือนก่อน

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

  • @Гооол-й4ч
    @Гооол-й4ч 7 หลายเดือนก่อน

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

    • @paromovevg
      @paromovevg  7 หลายเดือนก่อน

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

  • @krecer2024
    @krecer2024 7 หลายเดือนก่อน +3

    лучший

  • @АндрейЛейкин-ф6у
    @АндрейЛейкин-ф6у 7 หลายเดือนก่อน +1

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

  • @АлександрКос-р3щ
    @АлександрКос-р3щ 7 หลายเดือนก่อน

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

    • @paromovevg
      @paromovevg  7 หลายเดือนก่อน

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

    • @НикитаОсипов-р3з7з
      @НикитаОсипов-р3з7з 7 หลายเดือนก่อน +1

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

  • @Сергей-э8о6м
    @Сергей-э8о6м 7 หลายเดือนก่อน

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

    • @paromovevg
      @paromovevg  7 หลายเดือนก่อน

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

  • @artemunix5223
    @artemunix5223 7 หลายเดือนก่อน

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

    • @paromovevg
      @paromovevg  7 หลายเดือนก่อน

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

    • @artemunix5223
      @artemunix5223 7 หลายเดือนก่อน

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

  • @MsSofull
    @MsSofull 7 หลายเดือนก่อน

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

  • @Iamizart
    @Iamizart 7 หลายเดือนก่อน +1

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

  • @d0paminer
    @d0paminer 7 หลายเดือนก่อน

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

  • @DmitryBelykh
    @DmitryBelykh 7 หลายเดือนก่อน +2

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

  • @izzy7541
    @izzy7541 7 หลายเดือนก่อน

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

  • @ВячеславС-к1м
    @ВячеславС-к1м 7 หลายเดือนก่อน +1

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

  • @uicodeuz
    @uicodeuz 7 หลายเดือนก่อน

    Первый ❤

    • @kitsunaana9783
      @kitsunaana9783 7 หลายเดือนก่อน

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

    • @uicodeuz
      @uicodeuz 7 หลายเดือนก่อน

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

  • @АлександрКосых-л3м
    @АлександрКосых-л3м 7 หลายเดือนก่อน

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