@Sazoks

Может ли реализация класса зависеть от внешних модулей?

Доброго времени суток всем!
Вот есть у меня какой-то класс. Этот класс внутри себя использует какой-то объект другого класса.
Я вижу два варианта реализации этого:
  1. Передать в конструктор класса нужный объект другого класса (ссылку) и использовать его внутри.
  2. Если этот другой объект другого класса уже есть в каком-то другом файле, импортировать его в файл с нашим классом и использовать его в коде.

Мне не нравится 2-й вариант, потому что сама реализация класса внутри зависит от наличия другого объекта где-то из вне.
Пример на Python:
from file_b import ClassB

class A:
    def __init__(self, b: ClassB):
        self.__b = b
        # Дальше используем уже self.__b.

Либо
from file_b import b

class A:
    def __init__(self):
        pass
    
    def some_fun(self):
        b.some_method_b()


Очень надеюсь на ваше мнение!
Спасибо.
  • Вопрос задан
  • 24 просмотра
Решения вопроса 1
@vabka
Токсичный
Всё верно. Лучше зависимости передавать через конструктор
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы