Изменения документа 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/14 10:05
на 2020/07/14 10:05
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (3 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Название
-
... ... @@ -1,1 +1,1 @@ 1 -Внедрение зависимостей | Dependency injection 1 +JS Внедрение зависимостей | JS Dependency injection - Теги
-
... ... @@ -1,1 +1,1 @@ 1 -DI 1 +DI|js - Содержимое
-
... ... @@ -13,6 +13,7 @@ 13 13 Вопрос абстракции. 14 14 Нет возможности определить интерфейс. 15 15 Как вариант определять класс без логики. Методы могут быть пустими и бросать ошибку: метод не реализован. Потомок либо переопределит метод либо получит ошибку при вызове. 16 +В пустом классе определить статичное поле - имя абстракции, которое будет использоваться для регистрации и разрешения зависимости. 16 16 17 17 18 18 Схожим образом можно интегрироваться с фреймворком типа React: ... ... @@ -22,4 +22,5 @@ 22 22 23 23 24 24 26 +Для создания ServieLocator использовалась библитеока di-xxl. Как показывает практика библиотека не умеет самостоятельно анализировать конструктор и определять необходимые для экземпляра зависимости. Как вариант можно явно прописать список параметров, передаваемых в конструктор, в блоке регистрации зависимости. Но на мой взгляд, более хорошим решением является разрешение зависимостей через ServieLocator в конструкторе базового класса. 25 25