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

  • @alexeymatveev9031
    @alexeymatveev90317 ай бұрын

    Шикарный доклад, шикарная тема, надо поддерживать коллег, а не искать недостатки. Автор молодец.

  • @al.e.k
    @al.e.k10 ай бұрын

    На 7:20 DI у автора реализован через service locator со всеми его недостатками.

  • @user-jd4rl7im6d
    @user-jd4rl7im6d Жыл бұрын

    Че то на 6 минуте от датакласса офигел. Ну почему нельзя было показать просто с методом инит? Ведь датакласс существует не только для того, чтобы написать за вас метод инит, он в целом определяет концепцию класса и она здесь явно не подходит, потому что Биллинг - ну никак не датакласс, особенно учитывая что в нём прописана бизнес-логика. Я конечно понимаю, что многие воспримут мой коммент как до*б, но на самом деле такие концептуальные вещи это ж капец как важно, и уж точно на конфах не хочется видеть такие уродливые конструкции, когда датакласс лепят куда ни попадя, при том что это еще и чуть усложняет объяснение смысла материала (с методом инит было бы тупо нагляднее).

  • @accel3286

    @accel3286

    Жыл бұрын

    Да не, справедливый комментарий про датакласс

  • @vadim-kv

    @vadim-kv

    Жыл бұрын

    А что плохого в бизнес логике в датакласе ? Ведь нигде нет упоминаний, что скажем его надо использовать исключительно для данных.

  • @user-jd4rl7im6d

    @user-jd4rl7im6d

    Жыл бұрын

    @@vadim-kv ну упоминания конечно нет но ты ведь не пишешь бизнес-логику в словариках и без всяких упоминаний, верно? Это ж вроде как очевидные вещи. Датакласс это класс для обмена данными, как словарь на максималках.

  • @vadim-kv

    @vadim-kv

    Жыл бұрын

    @@user-jd4rl7im6d пожалуй да, соглашусь :)

  • @MrLotrus

    @MrLotrus

    Жыл бұрын

    Датакласс конкретно в питоне создает магические методы за разработчика, не более. Концептуально да, цитата из пепа: Although they use a very different mechanism, Data Classes can be thought of as “mutable namedtuples with default. На практике они способны на большее. То есть это больше вопрос соглашения как их использовать.

  • @bfdhtfyjhjj
    @bfdhtfyjhjj Жыл бұрын

    Тема не раскрыта

  • @devopsislove
    @devopsisloveАй бұрын

    4:10 - не надо так)

  • @alexseydugin8109
    @alexseydugin8109 Жыл бұрын

    DI в питоне как корове седло - некто Бобук

  • @TheDelwish

    @TheDelwish

    Жыл бұрын

    как джавист в прошлом (на спринге) где тут серьезный DI вы увидели? весь доклад про то что нужно делать декаплинг зависимостей и пробрасывать их через параметр конструктора. ну оф игеть открытие. первое, да реальный DI в питоне особо не нужен в виде фреймворков, он там пишется сам собой. второе - вы питонисты, просто знать не знаете что такое DI. кто на спринге проекты делал, в цирке не смеется.

  • @user-jd4rl7im6d

    @user-jd4rl7im6d

    9 ай бұрын

    @@TheDelwish кажется ты путаешь понятия инъекции зависимостей и инверсии контроля).

  • @user-hf6zn6mu9f
    @user-hf6zn6mu9f Жыл бұрын

    Лектору нужно над своим базаром задуматься

Келесі