6 个仓库
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 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
Uses runtime type inspection to automatically identify and inject required services into constructor parameters.
dig is a reflection-based dependency injection framework and object graph resolver for Go. It functions as a container that automatically satisfies type dependencies and manages the instantiation of complex networks of objects during application startup. The project utilizes a directed acyclic graph to determine the necessary sequence for object instantiation and employs interface-driven provider mapping to decouple concrete implementations from their satisfied interfaces. It resolves the object hierarchy through reflection-based type resolution and single-pass component wiring to ensure all
Uses runtime type analysis and Go reflection to match dependency requests with available providers.
MvvmCross 是一个 .NET MVVM 框架,旨在通过将业务逻辑与原生用户界面分离来构建跨平台应用。它充当导航引擎和 UI 数据绑定库,能够将逻辑封装在可在不同操作系统间复用的视图模型(View Models)中。 该框架提供了原生硬件抽象层和依赖注入容器,用于解耦组件并为访问设备功能提供统一接口。它协调原生屏幕之间的类型安全转换,并通过属性更改通知管理共享逻辑类与原生 UI 组件之间的数据同步。 该项目涵盖了广泛的功能,包括应用生命周期管理、URI 深度链接和控制反转(IoC)服务注册。它还包含用于国际化、通过弱引用事件聚合器进行发布-订阅消息传递的工具,以及针对传感器、地理位置和生物识别认证的硬件集成功能。
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 is a dependency injection library for Go that manages object lifecycles and wires application components by automating the provision of dependencies. It functions as a reflection-based container that maps specific values to their corresponding types, enabling the automatic retrieval and injection of objects into application logic. The library distinguishes itself through its ability to perform automatic function invocation, where it inspects function signatures at runtime to resolve and provide required arguments from a central registry. It also supports struct field injection, which p
Matches concrete implementations to requested interface types using runtime reflection.