@RusTaylor

Dependency inversion в python?

Добрый день!
Недавно решил изучить python(в основном занимаюсь PHP) и тут меня заинтересовал вопрос по поводу принципов SOLID.
В python нету интерфейсов и в связи с чем я не могу понять как можно соблюдать Dependency inversion в python, сколько не искал в гугле, выбивало только Внедрение зависимостей.
Буду благодарен за помощь)
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 2
shenk
@shenk
t.me/kshnkvn
Я, возможно неправильно понял ваш вопрос, так как не особо могу в ООП, но у питона есть множественное наследование и дак-тайпинг. Помимо этого есть ABC.
Ответ написан
Guest007
@Guest007
Django, Python, Linux и всё такое...
Если следовать твоему примеру:
class Basic(object):
    def kek(self):
        return 'LOL'

class Dependency():
    def use(self, mach: Basic):
      mach.kek()

b = Dependency()
b.use(Basic)

то рабочий вариант будет выглядеть так:

class Basic(object):
    def kek(self):
        return 'LOL'

class Dependency():
    def use(self, mach: Basic):
        m = mach()
        return m.kek()

b = Dependency()
print(b.use(Basic))

выведет `LOL`
Создаёшь экземпляр переданного класса: m = mach() и потом уже возвращаешь результат выполнения его метода
Ответ написан
Ваш ответ на вопрос

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

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