Grace is a feature rich Dependency Injection Container designed with ease of use and performance in mind.
Meet Grace alternatives and similar packages
Based on the "IoC" category.
Alternatively, view Meet Grace alternatives based on common mentions on social networks and blogs.
7.7 6.9 L4 Meet Grace VS UnityThis repository contains all relevant information about Unity Container suit
7.5 3.0 L5 Meet Grace VS Castle WindsorCastle Windsor is a best of breed, mature Inversion of Control container available for .NET
The default IoC container for ASP.NET Core applications.
6.8 0.0 L4 Meet Grace VS StructureMapA Dependency Injection/Inversion of Control tool for .NET
DryIoc is fast, small, full-featured IoC Container for .NET
4.7 8.3 Meet Grace VS LamarFast Inversion of Control Tool and Sundry Items of Roslyn Chicanery
4.5 7.8 Meet Grace VS VS MEFManaged Extensibility Framework (MEF) implementation used by Visual Studio
1.3 8.7 Meet Grace VS Simplify.DISimplify is an open-source set of .NET libraries that provide infrastructure for your applications. DI and mocking friendly.
AutoMapper extensions to SimpleInjector
FluentValidation extensions to SimpleInjector
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Meet Grace or a related project?
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.
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