Dit maak gebruik van beskrywings en ontwerpers eksterne afhanklikhede te verwys, en bestek te spesifiseer hoe voorwerpe te onthou.
Afhanklikhede kan verwys word deur tipes en opsionele notas.
Geen opset vereis word, maar gevorderde in-kode opset is moontlik.
Die meeste ander python afhanklikheid inspuiting gereedskap, soos PyContainer of lente Python, is afkomstig van ander tale (Java). Sodat hulle is gebaseer op afhanklikheid inspuiting maniere spesifiek vir staties getik tale.
Python is nie Java, en so patrone en programmeringstegnieke wat behoorlike en bruikbare in een taal lyk, kan ongemaklik in 'n ander te wees.
Spuit geskep is 'n pythonic manier van afhanklikheid inspuiting te gee, die gebruik van spesifieke Python funksionaliteit.
Terminologie wat gebruik word in spuit is doelbewus soortgelyk aan Guice gemaak, maar die interne argitektuur is verskillende
Eienskappe :.
- Fast, slegs 2-3 keer stadiger dat direkte Instantiëring.
- normale manier van instantiëren voorwerpe, Klas (* argumente, ** kwargs).
- inspuit argumente in funksies en metodes.
- Bronverwysings afhanklikhede deur tipes en opsionele notas.
- binding aan callables, gevalle en ongebonde metodes (sien [nvokers).
- Versoek omvang middleware vir WSGI en Django aansoeke (vereis Python2.5 +).
- Geen verstellings vereis nie.
- Gevorderde buigsame konfigurasie moontlik
- Twee inspuiting metodes, 'n descriptor en 'n versierder
- Support erfenis deur verby inject.super as die standaard kwarg waarde
- Invokers ongebonde metodes te roep (cool vir luisteraars)
- Gedeeltelike inspuitings, toe net 'n paar argumente ingespuit:
- Scopes: aansoek (Singleton), versoek, noscope
- Eenvoudige integrasie in bestaande projekte.
Wat is nuut in hierdie release:.
- verwyder intelliJ idee lêers
Kommentaar nie gevind