awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
autofac avatar

autofac/Autofac

0
View on GitHub↗
4,649 Stars·846 Forks·C#·MIT·6 Aufrufeautofac.org↗

Autofac

Autofac ist ein Dependency-Injection-Framework und ein Inversion-of-Control-Container für .NET. Es fungiert als Komponenten-Registrierungs-Engine, die Klassenimplementierungen von ihren Abhängigkeiten entkoppelt, indem erforderliche Dienste über Konstruktoren oder Eigenschaften injiziert werden.

Das Projekt enthält eine Assembly-Scanning-Bibliothek zur automatischen Entdeckung und Registrierung von Komponenten innerhalb kompilierter Binärdateien basierend auf spezifischen Typkriterien. Es bietet einen Service-Lifetime-Manager zur Steuerung der Objektspeicherdauer unter Verwendung von Singletons, Instance-per-Dependency oder isolierten Request-Scopes.

Das Framework deckt ein breites Spektrum an Funktionen ab, darunter rekursive Dependency-Injection, bedingte Service-Auflösung und die Organisation von Registrierungen in wiederverwendbaren Modulen. Es unterstützt zudem die Verwaltung isolierter Auflösungs-Scopes, um sicherzustellen, dass Instanzen ordnungsgemäß freigegeben werden.

Das System integriert sich in verschiedene Umgebungen und bietet Mechanismen für das Bootstrapping von Anwendungs-Hostings, Dependency-Injection für serverlose Funktionen und automatisiertes Test-Mocking.

Features

  • Dependency Injection - Decouples application components by automatically supplying required services through constructors or properties.
  • Reflection-Based Dependency Resolution - Uses runtime type inspection to automatically identify and inject required services into constructor parameters.
  • Type-Level Service Maps - Implements a type-safe mapping from service interfaces to their concrete implementations for on-demand retrieval.
  • Assembly Scanning and Discovery - Provides a system to discover and register classes based on specific criteria within compiled assemblies.
  • Assembly Scanning Libraries - Includes a library to automatically discover and register components within compiled .NET assemblies.
  • Assembly Scanning Registrations - Automatically discovers and maps types for injection by searching compiled binaries for specific attributes or interfaces.
  • Automated Component Discovery - Automatically discovers and registers classes within compiled assemblies by scanning for specific attributes or interfaces.
  • Automatic Dependency Resolution - Automatically instantiates requested services and injects all nested dependencies into constructors.
  • Container Module Registrations - Organizes sets of registrations into reusable modules to simplify configuration and implement dynamic logic.
  • Component Registration - Provides a configuration system to map interfaces to concrete implementations using reflection and lambda expressions.
  • Concrete Type Mappings - Provides a method to map concrete classes to services to automatically handle dependency injection.
  • Constructor Injection - Supplies required services to classes via constructors or properties to decouple implementation from consumption.
  • Lambda-Based Instantiation - Allows custom object creation logic through lambda expressions that can access the current resolution context.
  • Dependency Injection Frameworks - Implements a comprehensive framework for inversion of control to manage component dependencies.
  • Factory-Based Instantiation - Defines custom instantiation logic through delegates to resolve dependencies using the component context.
  • .NET IoC Containers - Functions as a centralized .NET container for managing object instantiation and dependency lifetimes.
  • Dependency Tree Traversers - Resolves nested dependencies by repeatedly requesting required types until the entire object graph is instantiated.
  • Container Module Registrations - Encapsulates sets of service mappings into reusable modules to organize configuration and share dependency definitions.
  • Service Lifetime Scopes - Isolates object instances within logical boundaries to control when components are created and automatically disposed.
  • Isolated Resolution Scopes - Provides isolated scopes for resolving services to ensure that scoped instances are properly disposed.
  • Conditional Service Resolution - Allows retrieving services only if they exist, providing a safe way to handle optional registrations.
  • Serverless Job Activators - Implements a system for injecting dependencies into serverless function executions using a dedicated job activator.
  • External Instance Registrations - Allows adding pre-created objects to the container and marking them as externally owned to prevent automatic disposal.
  • Application Bootstrapping - Provides mechanisms to initialize the root module and primary service providers during application startup.
  • Application Hosting Bootstrappers - Provides mechanisms to initialize service providers within application hosting pipelines to manage root and child dependency scopes.
  • Conditional Registrations - Triggers component registration based on whether specific services already exist within the container builder.
  • Generic Type Resolution - Dynamically creates concrete implementations of generic services by mapping open type definitions at runtime.
  • Open Generic Registrations - Provides the ability to map open generic implementations to services, allowing the dynamic creation of closed generic types at runtime.
  • Serverless Injection - Supports injecting dependencies into serverless function executions through a dedicated job activator.
  • Scoped Object Disposals - Ensures instances are properly disposed of when their associated isolated resolution scope ends.
  • Request-Scoped Configurations - Implements memory control by defining object scopes as singletons or per-request instances.
  • Dependency-Mocked Unit Testers - Enables testing classes in isolation by allowing the container to generate mock implementations for dependencies.
  • Web Framework Integrations - Connects dependency injection to web frameworks to manage the lifetimes of controllers and middleware.
  • Dependency Injection - Extensible and popular dependency injection container.

Star-Verlauf

Star-Verlauf für autofac/autofacStar-Verlauf für autofac/autofac

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht autofac/autofac?

Autofac ist ein Dependency-Injection-Framework und ein Inversion-of-Control-Container für .NET. Es fungiert als Komponenten-Registrierungs-Engine, die Klassenimplementierungen von ihren Abhängigkeiten entkoppelt, indem erforderliche Dienste über Konstruktoren oder Eigenschaften injiziert werden.

Was sind die Hauptfunktionen von autofac/autofac?

Die Hauptfunktionen von autofac/autofac sind: Dependency Injection, Reflection-Based Dependency Resolution, Type-Level Service Maps, Assembly Scanning and Discovery, Assembly Scanning Libraries, Assembly Scanning Registrations, Automated Component Discovery, Automatic Dependency Resolution.

Welche Open-Source-Alternativen gibt es zu autofac/autofac?

Open-Source-Alternativen zu autofac/autofac sind unter anderem: uber-go/dig — dig is a reflection-based dependency injection framework and object graph resolver for Go. It functions as a container… ets-labs/python-dependency-injector — This is a dependency injection framework and inversion of control container for Python. It decouples object creation… jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized… typestack/typedi — TypeDI is a TypeScript dependency injection container and inversion of control tool. It functions as a centralized… khellang/scrutor — Scrutor is a library that extends the standard Microsoft dependency injection container. It provides tools for… swinject/swinject — Swinject is a dependency injection framework for Swift that manages object creation and wiring through a centralized…

Open-Source-Alternativen zu Autofac

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Autofac.
  • uber-go/digAvatar von uber-go

    uber-go/dig

    4,470Auf GitHub ansehen↗

    dig is a reflection-based dependency injection framework and object graph resolver for Go. It functions as a container that automatically satisfies type dependencies and manages the instantiation of complex networks of objects during application startup. The project utilizes a directed acyclic graph to determine the necessary sequence for object instantiation and employs interface-driven provider mapping to decouple concrete implementations from their satisfied interfaces. It resolves the object hierarchy through reflection-based type resolution and single-pass component wiring to ensure all

    Godependency-injectiondigo
    Auf GitHub ansehen↗4,470
  • ets-labs/python-dependency-injectorAvatar von ets-labs

    ets-labs/python-dependency-injector

    4,805Auf GitHub ansehen↗

    This is a dependency injection framework and inversion of control container for Python. It decouples object creation from business logic by managing how services and their dependencies are assembled, delivered, and linked within an application. The framework is distinguished by its ability to perform automated component wiring, using import hooks and decorators to inject dependencies into functions and classes across different modules. It supports non-blocking flows through an asynchronous dependency resolver and manages the initialization and shutdown sequences of shared external resources a

    Pythonaiohttpasynciodependency-injection
    Auf GitHub ansehen↗4,805
  • jeffijoe/awilixAvatar von jeffijoe

    jeffijoe/awilix

    4,088Auf GitHub ansehen↗

    Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized system for registering and resolving services, decoupling application components by automating how dependencies are created and passed to the functions or classes that require them. The framework features an automatic module loader that scans the filesystem using glob patterns to register dependencies based on filenames and exports. It supports parameter-name-based injection and proxy-based resolution to manage how dependencies are delivered to constructors and functions. The s

    TypeScriptawilixdependency-injectionioc
    Auf GitHub ansehen↗4,088
  • typestack/typediAvatar von typestack

    typestack/typedi

    4,242Auf GitHub ansehen↗

    TypeDI is a TypeScript dependency injection container and inversion of control tool. It functions as a centralized registry and service locator that manages object instantiation and decouples component dependencies using type inference and decorators. The project provides scoped dependency management to isolate service instances within specific contexts, preventing data leakage between different execution flows. It supports flexible service resolution through the use of type-safe tokens and the ability to map unique identifiers or class constructors to specific service instances. The contain

    TypeScriptdependency-injectioninversion-of-controlioc
    Auf GitHub ansehen↗4,242
Alle 30 Alternativen zu Autofac anzeigen→