From: src.ce.core.dependency_injection.abstract_container
This class defines the contract for dependency injection containers that manage object instances. Implementations should provide mechanisms to register and retrieve instances based on provider keys and type constraints.
The container acts as a central registry that decouples object creation and dependencies from their usage, enabling more modular and testable code.
This module defines the DIContainer
class which is the central dependency injection
container for the application. It also includes the AppModule
which configures
the core bindings for the application.
The container is responsible for: - Loading and validating the application configuration - Creating a registry of available components - Binding core services (like the ticket system client) - Providing methods to retrieve configured instances and pipelines
From: src.ce.core.dependency_injection.container
From: src.ce.core.dependency_injection.container
This container manages the application's dependency graph using Injector. It binds core components like configuration, registry, and orchestrator, and provides methods to retrieve configured instances.
config
Validated application configuration
registry
Registry of available components
From: src.ce.core.dependency_injection.registry
This registry allows classes to be registered and later retrieved by their unique keys. It enforces type checking during retrieval to ensure compatibility with expected interfaces.
_registry
list[type[Providable]]Internal list storing registered classes.