Изменения документа JS Внедрение зависимостей | JS Dependency injection
Редактировал(а) Alexandr Fokin 2023/01/06 17:11
отредактировано Alexandr Fokin
на 2020/07/12 19:29
на 2020/07/12 19:29
отредактировано Alexandr Fokin
на 2020/07/12 19:22
на 2020/07/12 19:22
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Теги
-
... ... @@ -1,1 +1,0 @@ 1 -DI - Содержимое
-
... ... @@ -1,25 +1,0 @@ 1 - 2 -**Внедрение зависимостей в JavaScript.** 3 - 4 -Для внедрения зависимостей в JS можно использовать следующую схему. 5 - 6 -1) Создаем класс ServieLocator. В нем будут содержаться все зависимости и метод для получения зависимости. 7 -2) Создаем BaseClass, который: 8 -Содержит статичный экземпляр ServieLocator. 9 -В конструкторе принимает список зависимостей. 10 -При выполнении конструктора запрашивает все необходимые зависимоти и бросате ошибку, если зависимость не найдена. 11 - 12 - 13 -Вопрос абстракции. 14 -Нет возможности определить интерфейс. 15 -Как вариант определять класс без логики. Методы могут быть пустими и бросать ошибку: метод не реализован. Потомок либо переопределит метод либо получит ошибку при вызове. 16 - 17 - 18 -Схожим образом можно интегрироваться с фреймворком типа React: 19 -Создать BaseReactComponent, от которого будут наследоваться все компоненты. 20 -Базовый BaseReactComponent будет создавать экземпляр BaseClass, который выполнит иницилизацию зависимостей, а после полученные зависимости можно скопировать из BaseClass в BaseReactComponent. 21 -При этом BaseReactComponent пробрасывает возможности конструктора BaseClass, позволяя передать массив необходимых зависимостей. 22 - 23 - 24 - 25 -