All Projects → jgauffin → Griffin.Container

jgauffin / Griffin.Container

Licence: LGPL-3.0 license
Inversion of control container with (almost) zero configuration

Programming Languages

C#
18002 projects
pascal
1382 projects

Projects that are alternatives of or similar to Griffin.Container

ThunderboltIoc
One of the very first IoC frameworks for .Net that has no reflection. An IoC that casts its services before thunder casts its bolts.
Stars: ✭ 40 (+207.69%)
Mutual labels:  dependency-injection, inversion-of-control
vue-ioc
IoC and DI for Vue powered by InversifyJS and inspired by Angular Module syntactic sugar.
Stars: ✭ 39 (+200%)
Mutual labels:  dependency-injection, inversion-of-control
awilix-express
Awilix helpers/middleware for Express
Stars: ✭ 100 (+669.23%)
Mutual labels:  dependency-injection, inversion-of-control
stashbox
A lightweight, fast, and portable dependency injection framework for .NET-based solutions.
Stars: ✭ 120 (+823.08%)
Mutual labels:  dependency-injection, inversion-of-control
ufw
A minimalist framework for rapid server side applications prototyping in C++ with dependency injection support.
Stars: ✭ 19 (+46.15%)
Mutual labels:  dependency-injection, inversion-of-control
waiter
Dependency injection, Inversion of control container for rust with compile time binding.
Stars: ✭ 71 (+446.15%)
Mutual labels:  dependency-injection, inversion-of-control
Components.js
🧩 A semantic dependency injection framework
Stars: ✭ 34 (+161.54%)
Mutual labels:  dependency-injection, inversion-of-control
Ioc
🦄 lightweight (<1kb) inversion of control javascript library for dependency injection written in typescript
Stars: ✭ 171 (+1215.38%)
Mutual labels:  dependency-injection, inversion-of-control
avaje-inject
Dependency injection via APT (source code generation) ala "Server side Dagger DI"
Stars: ✭ 114 (+776.92%)
Mutual labels:  dependency-injection, inversion-of-control
jimple
Just a dependency injection container to NodeJS and to the browser using new ES6 features
Stars: ✭ 72 (+453.85%)
Mutual labels:  dependency-injection, inversion-of-control
Typhoon
Powerful dependency injection for Objective-C ✨✨ (https://PILGRIM.PH is the pure Swift successor to Typhoon!!)✨✨
Stars: ✭ 2,711 (+20753.85%)
Mutual labels:  dependency-injection, inversion-of-control
di
Simple and yet powerful Dependency Injection for Go
Stars: ✭ 188 (+1346.15%)
Mutual labels:  dependency-injection, inversion-of-control
Inversify Express Example
The official express + inversify+ inversify-express-utils examples
Stars: ✭ 210 (+1515.38%)
Mutual labels:  dependency-injection, inversion-of-control
iocgo
A lightweight Inversion of Control (IoC) (Dependency Injection) container for Golang
Stars: ✭ 36 (+176.92%)
Mutual labels:  dependency-injection, inversion-of-control
Typedi
Simple yet powerful dependency injection tool for JavaScript and TypeScript.
Stars: ✭ 2,832 (+21684.62%)
Mutual labels:  dependency-injection, inversion-of-control
vesselize
⛵ A JavaScript IoC container that works seamlessly with Vue.js and React.
Stars: ✭ 22 (+69.23%)
Mutual labels:  dependency-injection, inversion-of-control
React Ioc
Hierarchical Dependency Injection with new React 16 Context API
Stars: ✭ 133 (+923.08%)
Mutual labels:  dependency-injection, inversion-of-control
Qframework
Unity3D System Design Architecture
Stars: ✭ 2,326 (+17792.31%)
Mutual labels:  dependency-injection, inversion-of-control
dargo
Dependency Injection for GO
Stars: ✭ 26 (+100%)
Mutual labels:  dependency-injection, inversion-of-control
mindjs
Minimalistic, pure Node.js framework superpowered with Dependency Injection 💡 💻 🚀
Stars: ✭ 17 (+30.77%)
Mutual labels:  dependency-injection, inversion-of-control

Griffin.Container

Inversion of control container with (almost) zero configuration.

The container configuration is validated when the container is built, to make sure that all dependencies have been registered.

Support for .NET Standard 2.0 and .NET 4.5.2.

Typical setup:

  1. Add the [Component] attribute on your classes:
[Component]
public class MyService : IShoppingService
{
    public MyService(IShoppingRepository repos)
	{
	}
	
	// [...]
}

[Component]
public class SqlServerShoppingRepository : IShoppingRepository
{
    public SqlServerShoppingRepository()
	{
	}
	
	// [...]
}
  1. Register all decorated classes in the container:
var registrar = new ContainerRegistrar();
registrar.RegisterComponents(Lifetime.Scoped, Assembly.GetExecutingAssembly());

var container = registrar.Build();

Features

  • The usual =)
  • Configuration validation
  • Commands
  • Decorators
  • Interceptors
  • Modules
  • Domain events
  • Quick enough

Installation

Install using nuget:

  • Core: install-package griffin.container
  • MVC5: install-package griffin.container.mvc5
  • WCF: install-package griffin.container.wcf
  • WebApi v2: install-package griffin.container.webapi2

Documentation

Pull requests are welcome.

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].