awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
uber-go avatar

uber-go/dig

0
View on GitHub↗
4,470 stele·226 fork-uri·Go·MIT·13 vizualizărigo.uber.org/dig↗

Dig

dig este un framework de dependency injection bazat pe reflexie și un resolver de grafuri de obiecte pentru Go. Acesta funcționează ca un container care satisface automat dependențele de tip și gestionează instanțierea rețelelor complexe de obiecte în timpul pornirii aplicației.

Proiectul utilizează un graf aciclic direcționat pentru a determina secvența necesară pentru instanțierea obiectelor și folosește maparea furnizorilor bazată pe interfețe pentru a decupla implementările concrete de interfețele lor satisfăcute. Rezolvă ierarhia obiectelor prin rezoluția de tip bazată pe reflexie și cablarea componentelor într-o singură trecere pentru a se asigura că toate cerințele sunt îndeplinite înainte de execuție.

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.

Istoric stele

Graficul istoricului de stele pentru uber-go/digGraficul istoricului de stele pentru uber-go/dig

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Dig

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Dig.
  • autofac/autofacAvatar autofac

    autofac/Autofac

    4,649Vezi pe 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
    Vezi pe GitHub↗4,649
  • uber-go/fxAvatar uber-go

    uber-go/fx

    7,354Vezi pe 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
    Vezi pe GitHub↗7,354
  • facebookarchive/injectAvatar facebookarchive

    facebookarchive/inject

    1,408Vezi pe 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
    Vezi pe GitHub↗1,408
  • inversify/inversifyjsAvatar inversify

    inversify/InversifyJS

    12,066Vezi pe 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
    Vezi pe GitHub↗12,066
Vezi toate cele 30 alternative pentru Dig→

Întrebări frecvente

Ce face uber-go/dig?

dig este un framework de dependency injection bazat pe reflexie și un resolver de grafuri de obiecte pentru Go. Acesta funcționează ca un container care satisface automat dependențele de tip și gestionează instanțierea rețelelor complexe de obiecte în timpul pornirii aplicației.

Care sunt principalele funcționalități ale uber-go/dig?

Principalele funcționalități ale uber-go/dig sunt: Dependency Injection, Reflection-Based Dependency Resolution, Dependency Graph Resolvers, Concrete Type Mappings, Go DI Frameworks, Dependency Graph Construction, Automatic Graph Resolutions, Application Bootstrapping.

Care sunt câteva alternative open-source pentru uber-go/dig?

Alternativele open-source pentru uber-go/dig includ: 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…