ipjohnson / Grace
Licence: mit
Grace is a feature rich dependency injection container library
Stars: ✭ 240
Projects that are alternatives of or similar to Grace
Swinjectstoryboard
Swinject extension for automatic dependency injection via Storyboard
Stars: ✭ 211 (-12.08%)
Mutual labels: dependency-injection, ioc-container
Python Dependency Injector
Dependency injection framework for Python
Stars: ✭ 1,203 (+401.25%)
Mutual labels: dependency-injection, ioc-container
Simplify
Simplify is a set of .NET libraries that provide infrastructure for your applications. DI and mocking friendly.
Stars: ✭ 52 (-78.33%)
Mutual labels: dependency-injection, ioc-container
Servicemanager
🔌 Most basic implementation of dependency injection container for JavaScript
Stars: ✭ 29 (-87.92%)
Mutual labels: dependency-injection, ioc-container
Autofac.annotation
Autofac extras library for component registration via attributes 用注解来load autofac 摆脱代码或者xml配置和java的spring的注解注入一样的体验
Stars: ✭ 140 (-41.67%)
Mutual labels: dependency-injection, ioc-container
Simpleinjector
An easy, flexible, and fast Dependency Injection library that promotes best practice to steer developers towards the pit of success.
Stars: ✭ 966 (+302.5%)
Mutual labels: dependency-injection, ioc-container
Singularity
A extremely fast ioc container for high performance applications
Stars: ✭ 63 (-73.75%)
Mutual labels: dependency-injection, ioc-container
Typescript Ioc
A Lightweight annotation-based dependency injection container for typescript.
Stars: ✭ 427 (+77.92%)
Mutual labels: dependency-injection, ioc-container
Microresolver
Extremely Fast Dependency Injection Library.
Stars: ✭ 138 (-42.5%)
Mutual labels: dependency-injection, ioc-container
Disco
PSR-11 compatible Dependency Injection Container for PHP.
Stars: ✭ 135 (-43.75%)
Mutual labels: dependency-injection, ioc-container
Di
Dependency Injection and IoC framework for PHP
Stars: ✭ 5 (-97.92%)
Mutual labels: dependency-injection, ioc-container
Container
A lightweight yet powerful IoC container for Go projects
Stars: ✭ 160 (-33.33%)
Mutual labels: dependency-injection, ioc-container
Weaver
Dependency Injection framework for Swift (iOS/macOS/Linux)
Stars: ✭ 546 (+127.5%)
Mutual labels: dependency-injection, ioc-container
Vue.js With Asp.net Core Sample
This provides a sample code using vue.js running on ASP.NET Core
Stars: ✭ 44 (-81.67%)
Mutual labels: dependency-injection, ioc-container
Swinject
Dependency injection framework for Swift with iOS/macOS/Linux
Stars: ✭ 4,958 (+1965.83%)
Mutual labels: dependency-injection, ioc-container
Poodinis
A dependency injection framework for D with support for autowiring.
Stars: ✭ 57 (-76.25%)
Mutual labels: dependency-injection, ioc-container
Kangaru
🦘 A dependency injection container for C++11, C++14 and later
Stars: ✭ 297 (+23.75%)
Mutual labels: dependency-injection, ioc-container
Autofac
An addictive .NET IoC container
Stars: ✭ 3,713 (+1447.08%)
Mutual labels: dependency-injection, ioc-container
React Ioc
Hierarchical Dependency Injection with new React 16 Context API
Stars: ✭ 133 (-44.58%)
Mutual labels: dependency-injection, ioc-container
Node Dependency Injection
The NodeDependencyInjection component allows you to standarize and centralize the way objects are constructed in your application.
Stars: ✭ 140 (-41.67%)
Mutual labels: dependency-injection, ioc-container
Grace
Grace is a feature-rich dependency injection container designed with ease of use and performance in mind.
using Grace.DependencyInjection;
var container = new DependencyInjectionContainer();
container.Configure(c => c.Export<BasicService>().As<IBasicService>());
var basicService = container.Locate<IBasicService>();
It's as easy as create, configure, and locate.
Getting Grace
NuGet package supports .Net 4.5 and .Net Standard 1.0.
Getting Started - A getting started guide for Grace as well as documentation for more complex topics
Features in Grace
- Fluent interface or Attributes for configuration allowing for maximum flexibility
- Supports child containers and light weight lifetime scopes
- Contextual binding support (similar to NInject)
- IDisposable objects created by the container will be tracked and disposed by the container unless configured otherwise.
- Performance characteristics that make it one of the fastest containers available. (Benchmarks)
- Supports special types
- IEnumerable<T> - supports resolving collections as IEnumerable<T> as well as most other types of collections List<T>, ReadOnlyCollection<T>, T[] and any collection that implements ICollection<T>
- Func<T> - supports resolving Func<T> automatically
- Lazy<T> - when resolved a Lazy<T> will be created that resolves T from the scope it was created in
- Owned<T> - object resolved within a Owned<T> will have their disposal lifecycle tied to the Owned<T> (similar to Autofac)
- Meta<T> - objects resolved within a Meta<T> are resolved along with their metadata
- Custom Delegates - any delegate that returns a type can be automatically resolved.
- Custom interface factories with Grace.Factory
- Many LifeStyles supported including Singleton, SingletonPerScope, SingletonPerRequest (MVC4, MVC5 & WCF packages), SingletonPerObjectGraph, SingletonPerAncestor<T>, and WeakSingleton. If none of the provided life styles meet your need you can always implement your own ICompiledLifeStyle class.
- Built in support for the decorator pattern
- Support for custom wrappers (Func<T> and Meta<T> are examples of built-in wrappers)
- ASP.Net Core supports
- Source Link support enabled
- Release Notes
Special thanks to @silkfire for the logo
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].