Skip to content
#

Dependency injection

Dependency injection (DI) is an implementation of the dependency inversion principle with the aim of separation of concerns by separating the depndency’s implementation from the class that’s using it. That kind of abstraction makes it possible to have different implementations with the same public methods so the class using it, doesn’t need to care which of the implementations is used. This is also especially useful for unit testing.

There are different types of dependency injection:

  • constructor injection
  • setter injection
  • interface injection
  • Here are 270 public repositories matching this topic...

    Practical Clean Architecture backend example built with FastAPI. No stateful globals (DI), low coupling (DIP), tactical DDD, CQRS, proper UoW usage. REST API, per-route error handling, session-based auth, contextual RBAC. Bundled with extensive docs and modern tooling

    • Updated Nov 4, 2025
    • Python