Dependency Injection in JS TS – Part 1
Created on 5 сентября 2022 г..
Очень хорошая статья про Dependency Injection с примерами кода на TS.
Флоу статьи:
- Что такое Dependency Injection
- Проблема с гибко vs удобно использовать. Если делать слишком гибко, то становится неудобно использовать. Это ловушка, в которую попадают все, кто пробует DI. Из-за этой ловушки DI кажется бесполезной игрушкой для чистой архитектуры, а не реальных проектов. Но совместисть гибкость и удобство использования можно.
- DI позволяет варировать реализацию функций через внедрение разных зависимостей
- DI позволяет замокировать что-то в разработке, без изменения кода приложения
- DI на классах
- Почему важно правильно определять, что является зависимостью сервиса, а что не является. Если начать все выносить в DI, код станет слишком сложным и неподдерживаемым
- Composition Root - место, где мы инстанцируем все сервисы и их зависимости. Также это называется DI контейнер
- Автоматические DI контейнеры - самописные и из npm
- Проблема циклических зависимостей
- Проектирование сверху вниз с помощью DI
Цитировать статью не буду т.к. там очень много и тяжело это адаптировать для канала. Лучше выделите 20-30 минут своего времени и прочтите статью. Она очень хороша.