Size: a a a

2021 October 26

BB

Boris Bobejko in Rude Python
Вообщем и целом, после того как выбран "метод" иньекции, остается реализовать собственно её имплементацию.
источник

НВ

Николай Видов... in Rude Python
Не уверен, что полностью понял твой вопрос, но постараюсь ответить. Во первых - сделать DI как дефолтное значение - нет ничего проще, и самый простой вариант - через __init__ через переменные инстанса класса, подставляя внутри тела метода значение по умолчанию в самом начале этого метода.
Если мы говорим о "дефолтном значении в методе (DI) на уровне сигнатуры" - лично я крайне слабо представляю возможность такого "хука".
В третьих - импорта нигде явно делать не надо на уровне определения твоего класса, главное, чтобы то, что было передано в инит и используется как DI зависимость имело нужный интерфейс взаимодействия.

В двух словах - как то так.
источник

BB

Boris Bobejko in Rude Python
Обычно реализация складывается к следующему, определить какие зависимости нужны инстансу, определить где находятся конструкторы или фабричные методы реализующие эти зависимости, посмотреть что нужно для них и создать граф зависимостей. потом развернуть его так, чтобы инстанцировать все обёекты и перепривязать их друг к другу
источник

BB

Boris Bobejko in Rude Python
Делать это можно просто руками. Написав бойлерплейт код и инстанцировав все самостоятельно. Можно автоматически - отталкиваясь от чего-то - интерфейса или класса-предка используя рефлексию. Второе в конечном итоге превращается в поиск подходяшего IoC (Inversion of Control) контейнера.
источник

U

Ukvaltino in Rude Python
Сейчас бы думать, что кто-то кому-то должен
источник

BB

Boris Bobejko in Rude Python
Собственно одна из первых ссылок в гугеле про IoC Container: https://python-dependency-injector.ets-labs.org/introduction/di_in_python.html
источник

U

Ukvaltino in Rude Python
Чат скоро превратится в куплю/продам
источник

BR

Bin Rider in Rude Python
А тебя-то это с чего бы так ебать-то резко начало, братишка?
источник

BB

Boris Bobejko in Rude Python
завтра напишешь, что продать хочешь.
источник

BR

Bin Rider in Rude Python
О, очередь на продажу!
источник

BB

Boris Bobejko in Rude Python
не так часто я за ноутом оказываюсь, совсем анусы расслабили 😕
источник

BR

Bin Rider in Rude Python
Да ладно, тут Настасья за тебя жестит.
источник

СВ

Саша Воронов... in Rude Python
лучше бы он бота купил.
источник

BR

Bin Rider in Rude Python
Кстати да.
источник

AF

An Feldman in Rude Python
Я? Я вообще сама скромность.
источник

BB

Boris Bobejko in Rude Python
Какая-то старая статья ещё - довольно распостраненный тип иньекторов самого простого вида: https://habr.com/ru/post/212217/

Подобных реализаций видел много где.

В целом у питона беда только одна - нет интерфейсов из коробки, что всё равно не сильно должно мешать
источник

BB

Boris Bobejko in Rude Python
за ботов я перманенты ставлю вообще
источник

СВ

Саша Воронов... in Rude Python
дык того, что сам пиздюлей раздаёт
источник

BB

Boris Bobejko in Rude Python
а этого кстати да
источник

V

Vladimir in Rude Python
Держи в курсе.
источник