awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
uber-go avatar

uber-go/dig

0
View on GitHub↗
4,470 estrellas·226 forks·Go·MIT·13 vistasgo.uber.org/dig↗

Dig

dig es un framework de inyección de dependencias basado en reflexión y un resolvedor de grafos de objetos para Go. Funciona como un contenedor que satisface automáticamente las dependencias de tipo y gestiona la instanciación de redes complejas de objetos durante el inicio de la aplicación.

El proyecto utiliza un grafo acíclico dirigido para determinar la secuencia necesaria para la instanciación de objetos y emplea el mapeo de proveedores basado en interfaces para desacoplar las implementaciones concretas de sus interfaces satisfechas. Resuelve la jerarquía de objetos mediante la resolución de tipos basada en reflexión y el cableado de componentes de una sola pasada para garantizar que se cumplan todos los requisitos antes de la ejecución.

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.

Historial de estrellas

Gráfico del historial de estrellas de uber-go/digGráfico del historial de estrellas de uber-go/dig

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Dig

Proyectos open-source similares, clasificados según cuántas características comparten con Dig.
  • autofac/autofacAvatar de autofac

    autofac/Autofac

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

    uber-go/fx

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

    facebookarchive/inject

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

    inversify/InversifyJS

    12,066Ver en 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
    Ver en GitHub↗12,066
Ver las 30 alternativas a Dig→

Preguntas frecuentes

¿Qué hace uber-go/dig?

dig es un framework de inyección de dependencias basado en reflexión y un resolvedor de grafos de objetos para Go. Funciona como un contenedor que satisface automáticamente las dependencias de tipo y gestiona la instanciación de redes complejas de objetos durante el inicio de la aplicación.

¿Cuáles son las características principales de uber-go/dig?

Las características principales de uber-go/dig son: Dependency Injection, Reflection-Based Dependency Resolution, Dependency Graph Resolvers, Concrete Type Mappings, Go DI Frameworks, Dependency Graph Construction, Automatic Graph Resolutions, Application Bootstrapping.

¿Qué alternativas de código abierto existen para uber-go/dig?

Las alternativas de código abierto para uber-go/dig incluyen: 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…