DI & IoC #1: Теория

  Рет қаралды 30,479

JavaScript.Ninja

JavaScript.Ninja

Күн бұрын

Пікірлер: 46
@The14Some1
@The14Some1 2 жыл бұрын
Первый человек в мире, которого можно комфортно слушать на 2х
@TakemuraGoro
@TakemuraGoro 2 жыл бұрын
Спасибо мил человек. 3 раза на ПХП слушал, так толком не усвоил. А тут все идеально легло!
@juliusmalkov9620
@juliusmalkov9620 5 жыл бұрын
я начинающий разраб - смотрю и проект на работе в разы лучше понимать стал)
@mozqoved
@mozqoved 6 жыл бұрын
Отлично. Просьба, если можно создавайте плейлисты. Было бы намного удобнее для всех.
@JavaScriptNinja
@JavaScriptNinja 6 жыл бұрын
Сделаем плейлисты, как вы заметили - очень много видео сейчас заливаем, организуем все красиво через пару дней
@z0uRChannel
@z0uRChannel 6 жыл бұрын
Илья, ты крутой! ОгроМЕННОЕ тебе спаибо за твою работу!!!
@samana1407
@samana1407 2 жыл бұрын
Вы невероятно здорово преподаёте информацию!
@saint8283
@saint8283 4 жыл бұрын
Блин, наконец-то нормальное объяснение. Хотя я больше по C#, но на C# ничего понятного не нашел о контейнерах IoC/ID.
@bulatawx687
@bulatawx687 Жыл бұрын
Спасибо, понятно и познавательно
@DmtrDkhnv
@DmtrDkhnv 6 жыл бұрын
Спасибо за классные видео! На 14 минуте просишь дать знать, если интересно про способы разруливания кольцевых зависимостей, ленивое порождение и фабричные функции. Даю знать - было бы очень интересно послушать!
@владимирсенцов-р1ю
@владимирсенцов-р1ю 6 жыл бұрын
Не надо так разруливать. Лучше переписать. А принцип очень простой. Вместо обьекта отдать кложур, который создаст нужный обьект.
@БурниСлав-е7л
@БурниСлав-е7л 2 жыл бұрын
Спасибо большое за видео!
@Volk1700
@Volk1700 3 жыл бұрын
спасибо за данное видео! отлично объяснено
@JeffeekChannel
@JeffeekChannel 3 жыл бұрын
*Православный* способ проброса зависимости - через конструктор. На этом моменте выпал :D
@demidovmaxim1008
@demidovmaxim1008 3 жыл бұрын
Спасибо Вселенских масштабов.
@ILMIRazmach
@ILMIRazmach 5 жыл бұрын
Спасибо, за контент.
@khalexspbru
@khalexspbru 4 жыл бұрын
Хоть где-то стрелочка разворачивается)
@Xeon83
@Xeon83 3 жыл бұрын
Очень круто разложено, снимаю шляпу.
@ssurrokk
@ssurrokk 4 жыл бұрын
респект
@denisbielishev
@denisbielishev 3 жыл бұрын
Было бы интересно послушать про кольцевые зависимости
@SerjLavrin
@SerjLavrin 5 жыл бұрын
В видео упоминается о том, что DI может помочь в разрешении проблем с циклическими зависимостями, и что фабрики в этом могут помочь тоже. Хотелось бы услышать об этом подробней.
@ЕгорЛазука-й1э
@ЕгорЛазука-й1э 3 жыл бұрын
Спасибо
@juliusmalkov9620
@juliusmalkov9620 5 жыл бұрын
отличное видео!
@kumb61
@kumb61 2 жыл бұрын
То есть ссылки эти объекты в конструкте подставляются на этапе компиляции?
@Volk1700
@Volk1700 3 жыл бұрын
Климов Гений
@dmitryez2808
@dmitryez2808 6 жыл бұрын
Супер
@irafish
@irafish 6 жыл бұрын
спасибо!
@daniilloban7511
@daniilloban7511 2 жыл бұрын
привет, есть что-то новое в этой теме? и как называется рисовалка для экрана хочу себе такую)
@makarov.m.m
@makarov.m.m 3 жыл бұрын
О, да. Обжёгся как раз с window (и прочими браузерными объектами), когда в проекте резко понадобился SSR.
@alexandrbalashov7543
@alexandrbalashov7543 3 жыл бұрын
Можете ли порекомендовать библиотеку для поддержки контейнеров в проекте на vue? После не долгого поиска нашел inversify - будет ли это достойным решением или лучше поискать еще?
@JavaScriptNinja
@JavaScriptNinja 3 жыл бұрын
Не вижу смысла во вью брать отдельную библиотеку
@RedkeiGost
@RedkeiGost 2 жыл бұрын
Звучит так, будто инверсия зависимостей можно происходит при переходе с лапши на классовый фреймворк.
@kidninjja
@kidninjja 6 жыл бұрын
Огромное спасибо за труд, вы очень интересный докладчик, узнал о вас после HolyJs :). У меня пожелание есть небольшое. Если у вас был опыт фп во фронтенде - расскажите пожалуйста о нём. Допустим мы сейчас используем на проекте fp-ts библиотеку в связке с реактом. Заранее спасибо!
@nevaknowmanamesame5089
@nevaknowmanamesame5089 6 жыл бұрын
Чем отличается Inverse of Control Container от Service Locator? Читал что Service Locator это плохо
@JavaScriptNinja
@JavaScriptNinja 6 жыл бұрын
Сервис локатор: Эй ты, Машка, принеси мне половник, весы и амбарный замок Почему плохо: сервис имеет доступ к Машке и может запросить у нее ВСЕ ЧТО УГОДНО. Из объявления сервиса не понятно что ему нужно для полного счастья (только из кода) IoC: Машка: Сударыня, вот ваши половник, весы и амбарный замок, как вы и просили для работы. Я пошла Почему хорошо: Машка ушла и больше ничего предоставить не может. Все нужные зависимости объявлены сразу (к примеру как аргументы конструктора)
@timur43378
@timur43378 6 жыл бұрын
DIC Container можно использовать как Service Locator если инжектить его как зависимость. То есть плох не сам сервис локатор, а то как он обычно используется. Другой подход подразумевает, что мы инжектим не сам контейнер, а конкретные нужные зависимости, внедрением которых контейнер и занимается.
@aglproject9611
@aglproject9611 6 жыл бұрын
А где или как это можно увидеть в коде?
@whoknows921
@whoknows921 4 жыл бұрын
AGL project angular, nestjs, spring mvc
@mikhailzubtsov7746
@mikhailzubtsov7746 4 ай бұрын
Не понимаю восторженных комментариев
@владимирсенцов-р1ю
@владимирсенцов-р1ю 6 жыл бұрын
Циклическую зависимость надо жестко пресекать. Очень хреновая вещь. Если появилось надо сразу переписывать так чтобы эту штуку убрать. Циклы в графе зависимостей в принципе недопустимы, так как убивают модульность.
@JavaScriptNinja
@JavaScriptNinja 6 жыл бұрын
Для орм к примеру циклические зависимости это норма. Более того система импортов в es2015 изначально разрабатывалась с требованием корректно работать с циклическими зависимостями. А вот require с ними не дружит, да
@владимирсенцов-р1ю
@владимирсенцов-р1ю 6 жыл бұрын
@@JavaScriptNinja Я придерюиваюсь позиции, что их надо избегать. Например захотел выделить модуль в отдельный .jar файл, а тебе надо пол проекта переписать из за любителей внедрить через поле или сеттер. А подобное просто можно недопускать. Вынес требуемый фунционал в новый класс и в обоих классах спокойно его используешь. А то что в orm эта штука есть - кто сказал, что это правильно?
@JavaScriptNinja
@JavaScriptNinja 6 жыл бұрын
@@владимирсенцов-р1юэто правильно потому что описывает доменную область. У книги много авторов, у авторов много книг
@владимирсенцов-р1ю
@владимирсенцов-р1ю 6 жыл бұрын
@@JavaScriptNinja Тут идет противоречие между обьектной и реляционной моделью. Тут делать нечего. Тем более скорее всего не придется выделять отдельный модуль или сервис в подобном месте.
@SerjLavrin
@SerjLavrin 5 жыл бұрын
по-моему в некоторых случаях циклические зависимости никак не избежать. Пример про userService и companyService в этом плане достаточно хорошо. Аналогичное можно часто наблюдать и в декларациях типов, когда типы ссылаются друг на друга. К примеру, Офис является Сущностью. Но Сущность имеет информацию о том, на каком Офисе она была изменена. Таким образом, появляется циклическая зависимость между Офисом и Сущностью и наоборот.
DI & IoC #2: Илья vs DI
15:20
JavaScript.Ninja
Рет қаралды 9 М.
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 898 М.
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 60 МЛН
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 138 МЛН
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН
Dependency Injection простыми словами
18:17
devschacht “Девшахта”
Рет қаралды 88 М.
№103: Dependency Injection в JavaScript
26:01
devschacht “Девшахта”
Рет қаралды 15 М.
DI & IoC #3: DI и фронтенд
15:58
JavaScript.Ninja
Рет қаралды 8 М.
Inversion of Control, simplified
10:22
Bran van der Meer
Рет қаралды 5 М.
Spring Framework. IoC и DI
10:02
PavelVil
Рет қаралды 1,7 М.