Редактировал(а) Alexandr Fokin 2023/01/06 17:11

От версии < 3.1 >
отредактировано Alexandr Fokin
на 2020/07/12 19:29
К версии 1.1 >
отредактировано Alexandr Fokin
на 2020/07/12 19:22
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Теги
... ... @@ -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 -