diff --git a/docs/providers/callable.rst b/docs/providers/callable.rst index 9497641f..df0117d1 100644 --- a/docs/providers/callable.rst +++ b/docs/providers/callable.rst @@ -54,8 +54,18 @@ any kind of injection. Delegation of :py:class:`Callable` providers is the same as :py:class:`Factory` providers delegation, please follow :ref:`factory_providers_delegation` section for examples (with exception -about using :py:class:`DelegatedCallable` instead of +of using :py:class:`DelegatedCallable` instead of :py:class:`DelegatedFactory`). +Abstract callable providers +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:py:class:`AbstractCallable` provider is a :py:class:`Callable` provider that +must be explicitly overridden before calling. + +Behaviour of :py:class:`AbstractCallable` providers is the same as of +:py:class:`AbstractFactory`, please follow :ref:`abstract_factory_providers` +section for examples (with exception of using :py:class:`AbstractCallable` +provider instead of :py:class:`AbstractFactory`). .. disqus:: diff --git a/docs/providers/factory.rst b/docs/providers/factory.rst index 3d40b366..9b7f3904 100644 --- a/docs/providers/factory.rst +++ b/docs/providers/factory.rst @@ -106,16 +106,18 @@ provided type: :language: python :linenos: +.. _abstract_factory_providers: + Abstract factory providers ~~~~~~~~~~~~~~~~~~~~~~~~~~ -:py:class:`AbstractFactory` is a :py:class:`Factory` provider that must be -explicitly overridden before calling. +:py:class:`AbstractFactory` provider is a :py:class:`Factory` provider that +must be explicitly overridden before calling. .. note:: - Overriding of :py:class:`AbstractFactory` is possible only by another - :py:class:`Factory` provider. + Overriding of :py:class:`AbstractFactory` provider is possible only by + another :py:class:`Factory` provider. :py:class:`AbstractFactory` provider is useful when it is needed to specify explicitly that it only provides abstraction, but not an implementation. diff --git a/docs/providers/singleton.rst b/docs/providers/singleton.rst index 0b3f00f4..ea7a84d5 100644 --- a/docs/providers/singleton.rst +++ b/docs/providers/singleton.rst @@ -65,7 +65,7 @@ any kind of injection. Delegation of :py:class:`Singleton` providers is the same as :py:class:`Factory` providers delegation, please follow :ref:`factory_providers_delegation` section for examples (with exception -about using :py:class:`DelegatedSingleton` instead of +of using :py:class:`DelegatedSingleton` instead of :py:class:`DelegatedFactory`). Singleton providers specialization @@ -78,6 +78,17 @@ Specialization of :py:class:`Singleton` providers is the same as :py:class:`Factory` providers specialization, please follow :ref:`factory_providers_specialization` section for examples. +Abstract singleton providers +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +:py:class:`AbstractSingleton` provider is a :py:class:`Singleton` provider that +must be explicitly overridden before calling. + +Behaviour of :py:class:`AbstractSingleton` providers is the same as of +:py:class:`AbstractFactory`, please follow :ref:`abstract_factory_providers` +section for examples (with exception of using :py:class:`AbstractSingleton` +provider instead of :py:class:`AbstractFactory`). + Singleton providers and multi-threading ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~