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


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

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

Похожие вопросы