Реализация ServiceLocator или IoC Container в JavaScript. Dependency Injection

Описание к видео Реализация ServiceLocator или IoC Container в JavaScript. Dependency Injection

Второе видео из пяти по разработке простейшего механизма внедрения зависимостей на примере реализации adonisjs 4. Это видео по созданию IoC Container. С помощью реализации собственного IoC можно лучше понять как устроен этот паттерн

В этом видео я разрабатываю IoC Container, но его можно назвать и по другому
Inversion Of Control (IoC) Container
Service Locator
Injector
ObjectManager
Registry

Смотри теорию в первом видео:
   • Dependency Injection порождающие шабл...  
О том как сделать IoC смотрим во втором видео:
   • Реализация ServiceLocator или IoC Con...  
Ну и о том, для чего и как использовать Service Providers смотри в третьем видео:
   • Реализация Service Provider в JavaScr...  
И что такое Service Contracts в четвертом видео:
   • Service Contract в JavaScript. Depend...  
Заключительное видео про API & SPI:
   • API & SPI. Dependency Injection гибка...  

Напоминаю, что IoC Container используется в механизме Dependency Injection чтобы получать экземпляры сервисов согласно конфигурации самого контейнера.

Dependency Injection Порождающий шаблон проектирования, предоставляющий логику внедрения сервисов в клиентский код без понимания что нужно для создания сервисов. Позволяет инкапсулировать лоигку создания сервисов.

Плюсы
Client не отвечает за создание
Облегчает тестирование
Делает композицию более эффективной
Гибкое конфигурирование

Минусы
Риск для безопасности
Приложение усложняется
Требует квалификации

Плейлист с разбором Dependency Injection в Angular
   • #1 Angular dependency injection frame...  

Видео где я поясняю что такое Singleton
   • Singleton Одиночка порождающие шаблон...  

----
Ветка для начала урока
https://github.com/MaksymGrom/js-di-l...

Ветка с выполненным уроком
https://github.com/MaksymGrom/js-di-l...

Инструкция для начала работы над уроком
1) Открыть терминал
2) Склонировать репозиторий
git clone https://github.com/MaksymGrom/js-di-l... lesson
3) Перейти в папку проекта
cd lesson
4) Установить все зависимости
npm install
5) Для запуска сборки проекта в режиме разработки запустить
npm start
6) Открыть Visual Studio Code и начать разработку по уроку

Спасибо за просмотр.
Подписывайтесь на канал для того чтобы не пропустить следующие видео.

Комментарии

Информация по комментариям в разработке