mirror of
https://github.com/ets-labs/python-dependency-injector.git
synced 2024-11-25 19:14:00 +03:00
46 lines
1.6 KiB
ReStructuredText
46 lines
1.6 KiB
ReStructuredText
Key features of Dependency Injector
|
|
-----------------------------------
|
|
|
|
.. meta::
|
|
:keywords: Python,DI,Dependency injection,IoC,Inversion of Control
|
|
:description: This article describes key features of "Dependency Injector"
|
|
framework. It also provides some cases and recommendations
|
|
about usage of "Dependency Injector" framework.
|
|
|
|
*Dependency Injector* is a dependency injection framework for Python projects.
|
|
It was designed to be unified, developer-friendly tool for managing any kind
|
|
of Python objects and their dependencies in formal, pretty way.
|
|
|
|
*Dependency Injector* framework key features are:
|
|
|
|
+ Easy, smart, pythonic style.
|
|
+ Obvious, clear structure.
|
|
+ Extensibility and flexibility.
|
|
+ Memory efficiency.
|
|
+ Thread safety.
|
|
+ Documentation.
|
|
+ Semantic versioning.
|
|
|
|
*Dependency Injector* framework could be used in different application types:
|
|
|
|
+ Web applications based on Flask, Django or any other web framework.
|
|
+ Asynchronous applications based on asyncio, Tornado and Twisted.
|
|
+ Standalone frameworks and libraries.
|
|
+ GUI applications.
|
|
|
|
*Dependency Injector* framework could be integrated on different project
|
|
stages:
|
|
|
|
+ It could be used in the beginning of development of new applications.
|
|
+ It could be integrated into applications that are in active development
|
|
stage.
|
|
+ It could be used for refactoring of legacy applications.
|
|
|
|
Components of *Dependency Injector* framework could be used:
|
|
|
|
+ In composition with each other.
|
|
+ Separately between each other.
|
|
|
|
Main idea of *Dependency Injector* framework is to be useful tool for the
|
|
right thing.
|