2015-06-10 09:53:15 +03:00
|
|
|
Providers
|
|
|
|
=========
|
|
|
|
|
2016-06-08 16:39:53 +03:00
|
|
|
Providers are strategies of accessing objects. They define how particular
|
2015-07-28 01:31:19 +03:00
|
|
|
objects are provided.
|
2015-06-10 09:53:15 +03:00
|
|
|
|
2015-11-23 20:09:21 +03:00
|
|
|
Base providers class is - :py:class:`dependency_injector.providers.Provider`
|
|
|
|
|
2015-07-28 01:31:19 +03:00
|
|
|
Every provider is callable (implements ``__call__()``). Every call to provider
|
|
|
|
instance returns provided result, according to the providing strategy of
|
|
|
|
particular provider.
|
|
|
|
|
|
|
|
Current documentation section consists from description of standard providers
|
|
|
|
library and some useful information like overriding of providers and writing
|
2015-11-23 20:09:21 +03:00
|
|
|
of custom providers.
|
2015-06-10 09:53:15 +03:00
|
|
|
|
2015-09-04 02:33:15 +03:00
|
|
|
All providers are validated in multithreading environment and considered to
|
2015-09-04 10:17:13 +03:00
|
|
|
be thread safe.
|
2015-09-04 02:33:15 +03:00
|
|
|
|
2015-11-23 20:09:21 +03:00
|
|
|
Providers module API docs - :py:mod:`dependency_injector.providers`
|
|
|
|
|
2016-06-09 01:43:25 +03:00
|
|
|
Providers class diagram:
|
|
|
|
|
|
|
|
.. image:: /images/providers/providers_class_diagram.png
|
|
|
|
:width: 100%
|
|
|
|
:align: center
|
|
|
|
|
2015-06-10 09:53:15 +03:00
|
|
|
.. toctree::
|
|
|
|
:maxdepth: 2
|
|
|
|
|
2015-06-16 10:37:57 +03:00
|
|
|
factory
|
|
|
|
singleton
|
2015-07-16 00:48:30 +03:00
|
|
|
callable
|
2015-06-18 16:34:26 +03:00
|
|
|
external_dependency
|
2015-12-28 18:25:25 +03:00
|
|
|
static
|
2015-07-21 09:57:13 +03:00
|
|
|
overriding
|
2015-07-28 01:31:19 +03:00
|
|
|
custom
|