Реализация ServiceLocator или IoC Container в JavaScript. Dependency Injection
Второе видео из пяти по разработке простейшего механизма внедрения зависимостей на примере реализации adonisjs 4. Это видео по созданию IoC Container. С помощью реализации собственного IoC можно лучше понять как устроен этот паттерн
В этом видео я разрабатываю IoC Container, но его можно назвать и по другому
Inversion Of Control (IoC) Container
Service Locator
Injector
ObjectManager
Registry
Смотри теорию в первом видео:
О том как сделать IoC смотрим во втором видео:
Ну и о том, для чего и как использовать Service Providers смотри в третьем видео:
И что такое Service Contracts в четвертом видео:
Заключительное видео про API & SPI:
Напоминаю, что IoC Container используется в механизме Dependency Injection чтобы получать экземпляры сервисов согласно конфигурации самого контейнера.
Dependency Injection Порождающий шаблон проектирования, предоставляющий логику внедрения сервисов в клиентский код без понимания что нужно для создания сервисов. Позволяет инкапсулировать лоигку создания сервисов.
Плюсы
Client не отвечает за создание
Облегчает тестирование
Делает композицию более эффективной
Гибкое конфигурирование
Минусы
Риск для безопасности
Приложение усложняется
Требует квалификации
Плейлист с разбором Dependency Injection в Angular
Видео где я поясняю что такое Singleton
----
Ветка для начала урока
Ветка с выполненным уроком
Инструкция для начала работы над уроком
1) Открыть терминал
2) Склонировать репозиторий
git clone lesson
3) Перейти в папку проекта
cd lesson
4) Установить все зависимости
npm install
5) Для запуска сборки проекта в режиме разработки запустить
npm start
6) Открыть Visual Studio Code и начать разработку по уроку
Спасибо за просмотр.
Подписывайтесь на канал для того чтобы не пропустить следующие видео.
2 views
2
1
5 months ago 00:15:41 1
Видеодоклад Анатолия Юницкого: геокосмический взлётно-посадочный комплекс ОТС в океане
6 months ago 00:00:46 1
Знакомство с Reptur. Али Хемраев - Руководитель Отдела Постпродажного сервиса г Стамбул
6 months ago 00:12:09 1
Ioniq 5 N v Urus Performante v Macan GTS v F-Pace SVR v Grecale Trofeo — Cammisa Ultimate Drag Race
1 year ago 00:15:33 6
Event Bus, Паттерны на практике, Unity, C#
1 year ago 00:09:51 2
Реализация ServiceLocator или IoC Container в JavaScript. Dependency Injection
1 year ago 00:11:46 1
2.9 Dependency Injection | Курс «Паттерны и практики написания кода»
3 years ago 00:02:32 1
Escape from Tarkov - Battle for Concordia (Streets of Tarkov teaser #3)