awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 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 vuesgo.uber.org/dig↗

Dig

dig est un framework d'injection de dépendances basé sur la réflexion et un résolveur de graphe d'objets pour Go. Il fonctionne comme un conteneur qui satisfait automatiquement les dépendances de type et gère l'instanciation de réseaux complexes d'objets lors du démarrage de l'application.

Le projet utilise un graphe orienté acyclique pour déterminer la séquence nécessaire à l'instanciation des objets et emploie un mappage de fournisseur piloté par interface pour découpler les implémentations concrètes de leurs interfaces satisfaites. Il résout la hiérarchie des objets par la résolution de type basée sur la réflexion et le câblage des composants en un seul passage pour garantir que toutes les exigences sont remplies avant l'exécution.

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.

Historique des stars

Graphique de l'historique des stars pour uber-go/digGraphique de l'historique des stars pour uber-go/dig

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Dig

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Dig.
  • autofac/autofacAvatar de autofac

    autofac/Autofac

    4,649Voir sur GitHub↗

    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
    Voir sur GitHub↗4,649
  • uber-go/fxAvatar de uber-go

    uber-go/fx

    7,354Voir sur GitHub↗

    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
    Voir sur GitHub↗7,354
  • facebookarchive/injectAvatar de facebookarchive

    facebookarchive/inject

    1,408Voir sur GitHub↗

    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
    Voir sur GitHub↗1,408
  • inversify/inversifyjsAvatar de inversify

    inversify/InversifyJS

    12,066Voir sur GitHub↗

    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
    Voir sur GitHub↗12,066
Voir les 30 alternatives à Dig→

Questions fréquentes

Que fait uber-go/dig ?

dig est un framework d'injection de dépendances basé sur la réflexion et un résolveur de graphe d'objets pour Go. Il fonctionne comme un conteneur qui satisfait automatiquement les dépendances de type et gère l'instanciation de réseaux complexes d'objets lors du démarrage de l'application.

Quelles sont les fonctionnalités principales de uber-go/dig ?

Les fonctionnalités principales de uber-go/dig sont : Dependency Injection, Reflection-Based Dependency Resolution, Dependency Graph Resolvers, Concrete Type Mappings, Go DI Frameworks, Dependency Graph Construction, Automatic Graph Resolutions, Application Bootstrapping.

Quelles sont les alternatives open-source à uber-go/dig ?

Les alternatives open-source à uber-go/dig incluent : 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…