Платформа внедрения зависимости Python

45
задан Alex 21 January 2016 в 14:35
поделиться

6 ответов

Я не использовал его, но Spring Python , платформа основана на Spring и реализует Инверсия Управления .

Там также, кажется, Guice в проекте Python: змея-guice

14
ответ дан Community 26 November 2019 в 21:13
поделиться
6
ответ дан Bartosz Radaczyński 26 November 2019 в 21:13
поделиться

Как альтернатива monkeypatching, мне нравится DI. Возникающий проект такой как http://code.google.com/p/snake-guice/ может отвечать всем требованиям.

Или посмотрите сообщение в блоге Внедрение зависимости в Python Dennis Kempin (август '08).

9
ответ дан Kirk Woll 26 November 2019 в 21:13
поделиться

Spring Python является ответвлением основанной на Java Платформы Spring и Spring Security, предназначенной для Python. Этот проект в настоящее время содержит следующие функции:

  • Инверсия Управления (внедрение зависимости) - используют или классический XML или Python @Object декоратор (подобный подпроекту Spring JavaConfig) для проводного соединения вещей вместе. В то время как формат @Object не идентичен стилю Guice (централизованное проводное соединение по сравнению с проводным соединением информации в каждом классе), это - ценный способ соединить Ваше приложение Python проводом.
  • Аспектно-ориентированное программирование - применяют перехватчики в горизонтальной парадигме программирования (вместо вертикального наследования ООП) для вещей как транзакции, безопасность и кэширование.
  • DatabaseTemplate - Читающий из базы данных требует монотонного цикла вводных курсоров, читая строки и заключительные курсоры, наряду с обработчиками исключений. С этим шаблонным классом все, в чем Вы нуждаетесь, является SQL-запросом и обрабатывающей строку функцией. Spring Python делает остальных.
  • Транзакции базы данных - Обертывающий несколько вызовов базы данных с транзакциями могут сделать Ваш код трудно для чтения. Этот модуль обеспечивает несколько способов определить транзакции, не делая вещи сложными.
  • Security - Сменные перехватчики безопасности для блокировки вниз доступа к методам, используя и аутентификацию и доменную авторизацию.
  • Дистанционная работа - легко преобразовать Ваше локальное приложение в распределенное. Если Вы уже создали свои части клиента и сервера с помощью контейнера МОК, то движение от локального до распределенного является просто изменением конфигурации.
  • Образцы - чтобы помочь продемонстрировать различные функции Spring Python, некоторые приложения приложения были созданы:
    • PetClinic - демонстрационное веб-приложение Spring Framework было восстановлено с нуля с помощью веб-контейнеров Python включая: CherryPy. Пойдите проверяют его для примера того, как использовать эту платформу. (ОТМЕТЬТЕ: Другие веб-платформы Python будут добавлены к этому списку в будущем).
    • Spring Wiki - Wikis являются мощными способами сохранить и управлять содержанием, таким образом, мы создали простой как демонстрацию!
    • Spring Bot - Использование Spring Python для создания крошечного бота для управления каналом IRC проекта с открытым исходным кодом.
25
ответ дан gregturn 26 November 2019 в 21:13
поделиться

Если вы просто хотите выполнить внедрение зависимостей в Python, вам не нужен фреймворк. Взгляните на Внедрение зависимостей в стиле Python . Это действительно быстро и просто, и только c. 50 строк кода.

2
ответ дан 26 November 2019 в 21:13
поделиться

Есть проект, похожий на Guicey python-inject . Он довольно активен, и кода намного меньше, чем у Spring-python, но, опять же, я еще не нашел причины его использовать.

3
ответ дан 26 November 2019 в 21:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: