5 Repos
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 5 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 ist ein Dependency-Injection-Framework und ein Inversion-of-Control-Container für .NET. Es fungiert als Komponenten-Registrierungs-Engine, die Klassenimplementierungen von ihren Abhängigkeiten entkoppelt, indem erforderliche Dienste über Konstruktoren oder Eigenschaften injiziert werden. Das Projekt enthält eine Assembly-Scanning-Bibliothek zur automatischen Entdeckung und Registrierung von Komponenten innerhalb kompilierter Binärdateien basierend auf spezifischen Typkriterien. Es bietet einen Service-Lifetime-Manager zur Steuerung der Objektspeicherdauer unter Verwendung von Singletons, Instance-per-Dependency oder isolierten Request-Scopes. Das Framework deckt ein breites Spektrum an Funktionen ab, darunter rekursive Dependency-Injection, bedingte Service-Auflösung und die Organisation von Registrierungen in wiederverwendbaren Modulen. Es unterstützt zudem die Verwaltung isolierter Auflösungs-Scopes, um sicherzustellen, dass Instanzen ordnungsgemäß freigegeben werden. Das System integriert sich in verschiedene Umgebungen und bietet Mechanismen für das Bootstrapping von Anwendungs-Hostings, Dependency-Injection für serverlose Funktionen und automatisiertes Test-Mocking.
Uses runtime type inspection to automatically identify and inject required services into constructor parameters.
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.
Uses runtime type analysis and Go reflection to match dependency requests with available providers.
MvvmCross ist ein .NET-MVVM-Framework, das für den Aufbau plattformübergreifender Anwendungen durch die Trennung von Geschäftslogik und nativen Benutzeroberflächen entwickelt wurde. Es fungiert als Navigations-Engine und UI-Data-Binding-Bibliothek, die die Kapselung von Logik innerhalb von View-Models ermöglicht, die über verschiedene Betriebssysteme hinweg wiederverwendet werden. Das Framework bietet eine native Hardware-Abstraktionsschicht und einen Dependency-Injection-Container, um Komponenten zu entkoppeln und eine konsistente Schnittstelle für den Zugriff auf Gerätefunktionen bereitzustellen. Es koordiniert typsichere Übergänge zwischen nativen Bildschirmen und verwaltet die Synchronisation von Daten zwischen gemeinsam genutzten Logikklassen und nativen UI-Komponenten durch Property-Change-Benachrichtigungen. Das Projekt deckt ein breites Spektrum an Funktionen ab, einschließlich Anwendungslebenszyklus-Management, URI-Deeplinking und Inversion-of-Control-Service-Registrierung. Es enthält zudem Dienstprogramme für Internationalisierung, Pub-Sub-Messaging über einen Weak-Reference-Event-Aggregator und Hardware-Integration für Sensoren, Geolokalisierung und biometrische Authentifizierung.
Implements dependency resolution by using runtime type analysis to match requests with providers in the IoC container.
Inject ist eine Dependency-Injection-Bibliothek für Go, die Objektlebenszyklen verwaltet und Anwendungskomponenten durch Automatisierung der Bereitstellung von Abhängigkeiten verdrahtet. Sie fungiert als reflexionsbasierter Container, der spezifische Werte ihren entsprechenden Typen zuordnet, was den automatischen Abruf und die Injektion von Objekten in die Anwendungslogik ermöglicht. Die Bibliothek zeichnet sich durch ihre Fähigkeit zur automatischen Funktionsaufrufung aus, bei der sie Funktionssignaturen zur Laufzeit untersucht, um erforderliche Argumente aus einer zentralen Registrierung aufzulösen und bereitzustellen. Sie unterstützt zudem Struct-Field-Injection, die Objekteigenschaften durch Scannen nach spezifischen Metadaten-Tags während der Initialisierung befüllt. Das Framework erleichtert modulares Design durch hierarchisches Container-Management, was es untergeordneten Containern erlaubt, Abhängigkeits-Lookups an übergeordnete Scopes zu delegieren, wenn ein angeforderter Typ lokal fehlt. Dieses System unterstützt schnittstellenbasierte Auflösung, wodurch sichergestellt wird, dass konkrete Implementierungen basierend auf Laufzeitevaluierung korrekt mit den angeforderten Typen abgeglichen werden.
Matches concrete implementations to requested interface types using runtime reflection.