@zlodiak

Что такое 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 такой вид внедрения зависимости существует или из-за особенностей языка он прос
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
@EvgeniiR
https://github.com/EvgeniiR
Изменение публичное переменной в которой лежит внедряемый объект. Точнее замена этого объекта.
a = new A();
a.logger = new Logger();


По сути из трех способов предпочтительнее использовать внедрение через конструктор.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
16 мая 2024, в 23:36
200000 руб./за проект
16 мая 2024, в 23:10
12000 руб./за проект