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
·
uber-go avatar

uber-go/dig

0
View on GitHub↗
4,470 Stars·226 Forks·Go·MIT·13 Aufrufego.uber.org/dig↗

Dig

dig ist ein auf Reflection basierendes Dependency-Injection-Framework und Object-Graph-Resolver für Go. Es fungiert als Container, der Abhängigkeiten automatisch auflöst und die Instanziierung komplexer Objektnetzwerke während des Anwendungsstarts verwaltet.

Das Projekt nutzt einen gerichteten azyklischen Graphen (DAG), um die notwendige Sequenz für die Objektinstanziierung zu bestimmen, und verwendet interface-basiertes Provider-Mapping, um konkrete Implementierungen von ihren erfüllten Interfaces zu entkoppeln. Es löst die Objekthierarchie durch Reflection-basierte Typauflösung und Single-Pass-Komponentenverdrahtung auf, um sicherzustellen, dass alle Anforderungen vor der Ausführung erfüllt sind.

Features

  • Dependency Injection - Provides a framework for decoupling software components by injecting required dependencies at runtime.
  • Reflection-Based Dependency Resolution - Uses runtime type analysis and Go reflection to match dependency requests with available providers.
  • Dependency Graph Resolvers - Provides an engine to resolve and traverse the relationships between dependent objects during startup.
  • Concrete Type Mappings - Maps concrete implementation types to interfaces to enable decoupled object injection via reflection.
  • Go DI Frameworks - Implements a dependency injection framework specifically designed for the Go programming language.
  • Dependency Graph Construction - Constructs a directed acyclic graph to determine the correct instantiation sequence for dependent objects.
  • Automatic Graph Resolutions - Automatically assembles and resolves the dependency graph of objects at application startup.
  • Application Bootstrapping - Manages the setup of a complex network of objects and services during the initial boot sequence.
  • Lazy Instance Provisioning - Defers the creation of dependent components until they are explicitly requested by a consumer.
  • Dependency Graph Traversals - Resolves the entire object hierarchy in a single traversal to ensure all dependencies are satisfied before execution.
  • Dependency Injection - Reflection-based dependency injection toolkit.

Star-Verlauf

Star-Verlauf für uber-go/digStar-Verlauf für uber-go/dig

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

Open-Source-Alternativen zu Dig

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Dig.
  • autofac/autofacAvatar von autofac

    autofac/Autofac

    4,649Auf GitHub ansehen↗

    Autofac is a dependency injection framework and inversion of control container for .NET. It functions as a component registration engine that decouples class implementations from their dependencies by injecting required services via constructors or properties. The project includes an assembly scanning library to automatically discover and register components within compiled binaries based on specific type criteria. It provides a service lifetime manager to control object memory duration using singletons, instance-per-dependency, or isolated request scopes. The framework covers a broad range

    C#autofacc-sharpdependency-injection
    Auf GitHub ansehen↗4,649
  • uber-go/fxAvatar von uber-go

    uber-go/fx

    7,354Auf GitHub ansehen↗

    Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model container that automates the instantiation and connection of components by analyzing constructor parameters and return values to resolve complex dependency graphs. The framework distinguishes itself through module-based component bundling, which encapsulates related constructors into reusable units to manage visibility and logic. It provides advanced resolution capabilities, including mapping concrete types to interfaces for decoupling, resolving dependency ambiguities via unique

    Goapp-frameworkdependency-injectionframework
    Auf GitHub ansehen↗7,354
  • facebookarchive/injectAvatar von facebookarchive

    facebookarchive/inject

    1,408Auf GitHub ansehen↗

    Inject is a dependency injection framework for Go that automates the assembly of complex object graphs. By leveraging runtime reflection, the library dynamically inspects object structures to resolve and populate required dependencies, decoupling component initialization from business logic. The framework manages object lifecycles through both singleton and factory-based provisioning. It maintains a central registry to share singletons across an application for consistent state, while also supporting the creation of unique, private instances to isolate state between different components. To

    Go
    Auf GitHub ansehen↗1,408
  • inversify/inversifyjsAvatar von inversify

    inversify/InversifyJS

    12,066Auf GitHub ansehen↗

    InversifyJS is an inversion of control framework and dependency injection library for TypeScript. It provides a centralized container to manage object lifecycles and automate the instantiation of classes and their dependencies. The library decouples software components by mapping unique identifiers to concrete implementations. This architecture separates object creation from business logic and allows for the replacement of real service implementations with mock objects during unit testing. The framework utilizes TypeScript decorators to provide metadata-driven injection and recursive depende

    TypeScript
    Auf GitHub ansehen↗12,066
Alle 30 Alternativen zu Dig anzeigen→

Häufig gestellte Fragen

Was macht uber-go/dig?

dig ist ein auf Reflection basierendes Dependency-Injection-Framework und Object-Graph-Resolver für Go. Es fungiert als Container, der Abhängigkeiten automatisch auflöst und die Instanziierung komplexer Objektnetzwerke während des Anwendungsstarts verwaltet.

Was sind die Hauptfunktionen von uber-go/dig?

Die Hauptfunktionen von uber-go/dig sind: Dependency Injection, Reflection-Based Dependency Resolution, Dependency Graph Resolvers, Concrete Type Mappings, Go DI Frameworks, Dependency Graph Construction, Automatic Graph Resolutions, Application Bootstrapping.

Welche Open-Source-Alternativen gibt es zu uber-go/dig?

Open-Source-Alternativen zu uber-go/dig sind unter anderem: autofac/autofac — Autofac is a dependency injection framework and inversion of control container for .NET. It functions as a component… uber-go/fx — Fx is a dependency injection framework and application lifecycle manager for Go. It functions as a component model… facebookarchive/inject — Inject is a dependency injection framework for Go that automates the assembly of complex object graphs. By leveraging… inversify/inversifyjs — InversifyJS is an inversion of control framework and dependency injection library for TypeScript. It provides a… google/guice — Guice is a Java dependency injection framework and component container. It automates object wiring by mapping… alibaba/beehive — BeeHive is a modular architecture framework for iOS applications. It provides a dependency injection container, an…