Se utiliza descriptores y decoradores para hacer referencia a las dependencias externas, y alcances para especificar cómo reutilizar objetos.
Dependencias pueden ser referenciados por tipos y anotaciones opcionales.
No se requiere configuración, pero avanzado configuración en código es posible.
La mayoría de las otras herramientas de inyección de dependencia pitón, como PyContainer o primavera Python, son puertos de otros idiomas (Java). Así que ellos se basan en formas de inyección de dependencia específicas para lenguajes de tipo estático.
Python no es Java, y así los patrones y técnicas de programación, que parecen adecuado y utilizable en un idioma, puede ser incómodo en otro.
Inyectar se ha creado para proporcionar una manera pythonic de inyección de dependencias, utilizando la funcionalidad específica de Python.
Terminología utilizada en inyección ha sido intencionadamente más similar a Guice, sin embargo la arquitectura interna es diferente
Características :.
- Fast, sólo 2-3 veces más lenta que la instanciación directa.
- forma normal de los objetos instanciar, Clase (* args, ** kwargs).
- La inyección de argumentos en funciones y métodos.
- Hacer referencia a las dependencias de los tipos y anotaciones opcionales.
- La unión a callables, instancias y métodos no consolidados (ver [nvokers).
- middleware Solicitud margen para WSGI y Django aplicaciones (requiere python2.5 +).
- No se requiere configuración en absoluto.
- Configuración flexible Advanced posible
- Dos métodos de inyección, un descriptor y un decorador
- Soporte para la herencia pasando inject.super como el valor por defecto kwarg
- invocadores para llamar a métodos no consolidados (fresco para oyentes)
- inyecciones parciales, cuando se inyectan sólo algunos argumentos:
- Ámbitos: aplicación (singleton), solicitud, noscope
- Fácil integración en los proyectos existentes.
¿Qué hay de nuevo en esta versión:.
- Eliminada archivos IntelliJ IDEA
Comentarios que no se encuentran