6 dépôts
Using runtime type analysis to match dependency requests with available providers in a container.
Distinct from Runtime Reflection: Specializes runtime reflection for the purpose of dependency injection resolution.
Explore 6 awesome GitHub repositories matching part of an awesome list · Reflection-Based Dependency Resolution. Refine with filters or upvote what's useful.
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
Uses runtime type analysis to match requested dependencies with available providers.
Autofac est un framework d'injection de dépendances et un conteneur d'inversion de contrôle pour .NET. Il fonctionne comme un moteur d'enregistrement de composants qui découple les implémentations de classes de leurs dépendances en injectant les services requis via des constructeurs ou des propriétés. Le projet inclut une bibliothèque de scan d'assemblages pour découvrir et enregistrer automatiquement les composants au sein des binaires compilés en fonction de critères de type spécifiques. Il fournit un gestionnaire de durée de vie des services pour contrôler la durée de vie des objets en mémoire en utilisant des singletons, des instances par dépendance ou des portées de requête isolées. Le framework couvre un large éventail de capacités, incluant l'injection de dépendances récursive, la résolution de services conditionnelle et l'organisation des enregistrements en modules réutilisables. Il prend également en charge la gestion de portées de résolution isolées pour garantir que les instances sont correctement supprimées. Le système s'intègre à divers environnements, fournissant des mécanismes pour le bootstrapping d'hébergement d'applications, l'injection de dépendances dans des fonctions serverless et le mocking automatisé pour les tests.
Uses runtime type inspection to automatically identify and inject required services into constructor parameters.
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.
Uses runtime type analysis and Go reflection to match dependency requests with available providers.
MvvmCross est un framework .NET MVVM conçu pour construire des applications multiplateforme en séparant la logique métier des interfaces utilisateur natives. Il fonctionne comme un moteur de navigation et une bibliothèque de liaison de données (data binding) UI, permettant l'encapsulation de la logique au sein de view models qui sont réutilisés à travers différents systèmes d'exploitation. Le framework fournit une couche d'abstraction matérielle native et un conteneur d'injection de dépendances pour découpler les composants et fournir une interface cohérente pour accéder aux fonctionnalités de l'appareil. Il coordonne les transitions sécurisées en termes de type entre les écrans natifs et gère la synchronisation des données entre les classes de logique partagée et les composants UI natifs via des notifications de changement de propriété. Le projet couvre un large éventail de capacités, incluant la gestion du cycle de vie de l'application, le deeplinking URI et l'enregistrement de services d'inversion de contrôle. Il inclut également des utilitaires pour l'internationalisation, la messagerie pub-sub via un agrégateur d'événements à référence faible, et l'intégration matérielle pour les capteurs, la géolocalisation et l'authentification biométrique.
Implements dependency resolution by using runtime type analysis to match requests with providers in the IoC container.
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
Uses runtime reflection to dynamically inspect object structures and automatically populate dependencies.
Inject est une bibliothèque d'injection de dépendances pour Go qui gère les cycles de vie des objets et câble les composants d'application en automatisant la fourniture des dépendances. Elle fonctionne comme un conteneur basé sur la réflexion qui mappe des valeurs spécifiques à leurs types correspondants, permettant la récupération et l'injection automatiques d'objets dans la logique d'application. La bibliothèque se distingue par sa capacité à effectuer une invocation de fonction automatique, où elle inspecte les signatures de fonction à l'exécution pour résoudre et fournir les arguments requis à partir d'un registre central. Elle prend également en charge l'injection de champs de structure, qui peuple les propriétés d'objet en scannant des balises de métadonnées spécifiques lors de l'initialisation. Le framework facilite la conception modulaire via la gestion de conteneurs hiérarchiques, permettant aux conteneurs enfants de déléguer les recherches de dépendances aux portées parentes lorsqu'un type demandé est manquant localement. Ce système prend en charge la résolution basée sur l'interface, garantissant que les implémentations concrètes sont correctement appariées aux types demandés sur la base d'une évaluation à l'exécution.
Matches concrete implementations to requested interface types using runtime reflection.