Через боль с dependency-injector
Тезисы
  • Dependency Injection (DI): организация кода с помощью связывания и развязывания его частей. Выбор инструмента Dependency-Injector.
  • Проблемы с DI: изменчивость в разных версиях Python, влияние окружения на стабильную работу библиотеки, сложности с использованием шаблонного метода как паттерна проектирования, используя библиотеку.
  • Нужен ли DI: критерии выбора, тестирование, выбор между wire и глобальным контейнером, применение ООП к модулям и функциям.
  • Простой контейнер: понимание собственных потребностей от инструмента для построение DI-контейнера. Можно ли обойтись без библиотеки? Полезность самописного контейнера.
Доклад будет полезен тем, кто сталкивался с принципом Dependency Injection или хочет лучше понять принцип. Рассмотрим проблемы популярной библиотеки Dependency Injector на языке Python. Обсудим сложности, с которыми можно столкнуться при использовании этой библиотеки в реальном проекте. Я продемонстрирую, что нравится в этом инструменте и как его функциональность может меняться в разных версиях библиотеки и в зависимости от окружения. Вместе мы разберемся, какие возможности на самом деле нам необходимы от такого инструмента, и создадим простой собственный контейнер с простой реализацией.
  • Dependency Injection (DI): организация кода с помощью связывания и развязывания его частей. Выбор инструмента Dependency-Injector.
  • Проблемы с DI: изменчивость в разных версиях Python, влияние окружения на стабильную работу библиотеки, сложности с использованием шаблонного метода как паттерна проектирования, используя библиотеку.
  • Нужен ли DI: критерии выбора, тестирование, выбор между wire и глобальным контейнером, применение ООП к модулям и функциям.
  • Простой контейнер: понимание собственных потребностей от инструмента для построение DI-контейнера. Можно ли обойтись без библиотеки? Полезность самописного контейнера.
Доклад будет полезен тем, кто сталкивался с принципом Dependency Injection или хочет лучше понять принцип. Рассмотрим проблемы популярной библиотеки Dependency Injector на языке Python. Обсудим сложности, с которыми можно столкнуться при использовании этой библиотеки в реальном проекте. Я продемонстрирую, что нравится в этом инструменте и как его функциональность может меняться в разных версиях библиотеки и в зависимости от окружения. Вместе мы разберемся, какие возможности на самом деле нам необходимы от такого инструмента, и создадим простой собственный контейнер с простой реализацией.
Видеозапись доклада
Появится здесь после конференции
Информация о спикере
Данил Губанов
Разработчик, Точка
Дебют на Дампе 2022: https://youtu.be/HeUJRvPRiOA
Иногда с конференций пишу посты: https://vk.com/gubanov.danil
Самые-самые проекты пишу здесь: https://gubanov.site/
Все доклады трека