Что такое property injection? dependency injection делится на 3 вида:
1. constructor injection. в этом случае зависимость передаётся через конструктор класса и далее присваивается свойству классаclass A:
def __init__(self, logger):
self.logger = logger
2. method injection. в этом случае зависимость передаётся через метод класса и в болто не нужен?ьшинстве случаев на присваивается свойству класса, но присваивается локальной переменной методаclass A:
def set_logger(self, logger):
logger_obj = logger
logger_obj.write('blabla')
3. а вот с третьим видом мне не всё понятно. Помогите пожалуйста понять что это и, если можно, тоже небольшой кусок кода приведите.
Вообще для python такой вид внедрения зависимости существует или из-за особенностей языка он прос

21 Авг 2019 в 06:58
246 +1
0
Ответы
1

т не используется.

Property injection - это вид dependency injection, при котором зависимость передается через установку (set) свойства класса. Однако, такой подход не является распространенным в Python из-за особенностей языка.

Вместо property injection, в Python чаще всего используют constructor injection или method injection. Вот пример метода injection в Python:

class Logger:
def write(self, message):
print(message)
class MyClass:
def set_logger(self, logger):
self.logger = logger
def do_something(self):
self.logger.write('Doing something')
logger = Logger()
my_class = MyClass()
my_class.set_logger(logger)
my_class.do_something()

В этом примере, зависимость logger передается в MyClass через метод set_logger. Затем, при вызове метода do_something, MyClass использует logger для записи сообщения.

Если все же есть необходимость использовать property injection, можно использовать дескрипторы в Python. Однако, это не так удобно и прямолинейно, как в других языках программирования.

20 Апр в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 683 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир