MoscowPython Meetup 80. Зачем нужен и как использовать Dependency Injection в питонячих сервисах
Ғылым және технология
Алексей Панаэтов (Whoosh, Руководитель департамента).
Расскажем про принцип Dependency Injection (DI).
На конкретных примерах покажем как правильно его использовать в ваших сервисах и какие выгоды он принесёт.
Слайды: moscowpython.ru/meetup/80/why...
MoscowPython: moscowpython.ru
Курсы Learn Python: learn.python.ru
Moscow Python Podcast: podcast.python.ru
Пікірлер: 18
Шикарный доклад, шикарная тема, надо поддерживать коллег, а не искать недостатки. Автор молодец.
На 7:20 DI у автора реализован через service locator со всеми его недостатками.
Че то на 6 минуте от датакласса офигел. Ну почему нельзя было показать просто с методом инит? Ведь датакласс существует не только для того, чтобы написать за вас метод инит, он в целом определяет концепцию класса и она здесь явно не подходит, потому что Биллинг - ну никак не датакласс, особенно учитывая что в нём прописана бизнес-логика. Я конечно понимаю, что многие воспримут мой коммент как до*б, но на самом деле такие концептуальные вещи это ж капец как важно, и уж точно на конфах не хочется видеть такие уродливые конструкции, когда датакласс лепят куда ни попадя, при том что это еще и чуть усложняет объяснение смысла материала (с методом инит было бы тупо нагляднее).
@accel3286
Жыл бұрын
Да не, справедливый комментарий про датакласс
@vadim-kv
Жыл бұрын
А что плохого в бизнес логике в датакласе ? Ведь нигде нет упоминаний, что скажем его надо использовать исключительно для данных.
@user-jd4rl7im6d
Жыл бұрын
@@vadim-kv ну упоминания конечно нет но ты ведь не пишешь бизнес-логику в словариках и без всяких упоминаний, верно? Это ж вроде как очевидные вещи. Датакласс это класс для обмена данными, как словарь на максималках.
@vadim-kv
Жыл бұрын
@@user-jd4rl7im6d пожалуй да, соглашусь :)
@MrLotrus
Жыл бұрын
Датакласс конкретно в питоне создает магические методы за разработчика, не более. Концептуально да, цитата из пепа: Although they use a very different mechanism, Data Classes can be thought of as “mutable namedtuples with default. На практике они способны на большее. То есть это больше вопрос соглашения как их использовать.
Тема не раскрыта
4:10 - не надо так)
DI в питоне как корове седло - некто Бобук
@TheDelwish
Жыл бұрын
как джавист в прошлом (на спринге) где тут серьезный DI вы увидели? весь доклад про то что нужно делать декаплинг зависимостей и пробрасывать их через параметр конструктора. ну оф игеть открытие. первое, да реальный DI в питоне особо не нужен в виде фреймворков, он там пишется сам собой. второе - вы питонисты, просто знать не знаете что такое DI. кто на спринге проекты делал, в цирке не смеется.
@user-jd4rl7im6d
9 ай бұрын
@@TheDelwish кажется ты путаешь понятия инъекции зависимостей и инверсии контроля).
Лектору нужно над своим базаром задуматься