SimpleInjector - An easy, flexible, and fast Dependency Injection library that promotes best practice to steer developers towards the pit of success

  •        134

The goal of Simple Injector is to provide .NET application developers with an easy, flexible, and fast Dependency Injection library that promotes best practice to steer developers towards the pit of success.

Many of the existing DI libraries have a big complicated legacy API or are new, immature, and lack features often required by large scale development projects. Simple Injector fills this gap by supplying a simple implementation with a carefully selected and complete set of features. File and attribute based configuration methods have been abandoned (they invariably result in brittle and maintenance heavy applications), favoring simple code based configuration instead. This is enough for most applications, requiring only that the configuration be performed at the start of the program. The core library contains many features for all your advanced needs.

https://simpleinjector.org
https://github.com/simpleinjector/SimpleInjector

Tags
Implementation
License
Platform

   




Related Projects

Dependency Context Mapper

  •    

A context based dependency mapper for any dependency injection framework.

Aura.Di - Dependency Injection System

  •    PHP

A serializable dependency injection container with constructor and setter injection, interface and trait awareness, configuration inheritance, and much more. This package is installable and PSR-4 autoloadable via Composer as aura/di.

LogikBug's IoC Container

  •    DotNet

LogikBug's IoC dependency injection container is very light weight. Finding a dependency injection container to suite my needs seemed rather cumbersome. So, I wrote this DI Container to suite my needs. There are many ways to register types, including scanning assemblies...

Swinject - Dependency injection framework for Swift with iOS/macOS/Linux

  •    Swift

Swinject is a lightweight dependency injection framework for Swift. Dependency injection (DI) is a software design pattern that implements Inversion of Control (IoC) for resolving dependencies. In the pattern, Swinject helps your app split into loosely-coupled components, which can be developed, tested and maintained more easily. Swinject is powered by the Swift generic type system and first class functions to define dependencies of your app simply and fluently.

IInject

  •    DotNet

IInject is a DI (Dependency Injection / IoC Container) framework that is very light weight, fast, and easy to use. It is written in C# and .NET 4.0.


typedi - Simple yet powerful dependency injection tool for JavaScript and TypeScript.

  •    TypeScript

TypeDI is a dependency injection tool for JavaScript and TypeScript. Using TypeDI you can build well-structured and easily tested applications. Then you can call Container.get(SomeClass) from anywhere in your application and you'll always have the same instance of SomeClass.

Dip - Simple Swift Dependency container

  •    Swift

Dip is a simple Dependency Injection Container. It's aimed to be as simple as possible yet provide rich functionality usual for DI containers on other platforms. It's inspired by .NET's Unity Container and other DI containers.

InversifyJS - A powerful and lightweight inversion of control container for JavaScript & Node

  •    Typescript

A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript. InversifyJS is a lightweight (4KB) inversion of control (IoC) container for TypeScript and JavaScript apps. An IoC container uses a class constructor to identify and inject its dependencies. InversifyJS has a friendly API and encourages the usage of the best OOP and IoC practices. InversifyJS is a tool that helps JavaScript developers write code with good OO design.

HK2 - A light-weight and dynamic dependency injection framework

  •    Java

HK2 is a light-weight and dynamic dependency injection framework. HK2 is an implementation of JSR-330 in a JavaSE environment. JSR-330 defines services and injection points that can be dynamically discovered at runtime and which allow for Inversion of Control (IoC) and dependency injection (DI).

DContainer

  •    

DContainer is a common dependency injection adapter for the popular IoC container.

DepIC

  •    DotNet

Dependency Injection Container with a very simple API.

Funq - A Dast Dependency Injection container in .NET

  •    CSharp

This project provides a high performance DI framework by eliminating all runtime reflection through the use of lambdas and generic functions as factories. Developed entirely in C# using TDD, it's a container you can crack open and actually understand to the core.

Pimple - A small PHP 5.3 dependency injection container

  •    PHP

This is the documentation for Pimple 3.x. If you are using Pimple 1.x, read the Pimple 1.x documentation. Reading the Pimple 1.x code is also a good way to learn more about how to create a simple Dependency Injection Container (recent versions of Pimple are more focused on performance). Pimple is a small Dependency Injection Container for PHP.

Dependency Injection Service Provider (DISP)

  •    

Dependency Injection Service Provider (DISP) is a wrapper or an interface that aim to allow .NET developers use one of the inversion of control (IoC) containers out there such as StructureMap or Ninject from a high level of abstraction, using the same interface and classes wi...

Typhoon - Powerful dependency injection for iOS & OSX (Objective-C & Swift)

  •    Objective-C

Powerful dependency injection for Cocoa and CocoaTouch. Lightweight, yet full-featured and super-easy to use. Visit the Typhoon website for an introduction. There's also a nice intro over at Big Nerd Ranch, or here's an article, by John Reid. Quite a few books have been written on the topic, though we're not familiar with one that focuses specifically on Objective-C, Swift or Cocoa yet.

awilix - Extremely powerful Inversion of Control (IoC) container for Node.JS

  •    TypeScript

That example is rather lengthy, but if you extract things to their proper files it becomes more manageable.

AppServices - lightweight framework for IOC and Dependency Injection in SOA

  •    

AppServices is a lightweight service container which can inject services into other objects, visual controls or components. It works with .NET Full, .NET Compact and Silverlight (included WP7). It manages automatically the service dependency. Its advantage is declarative confi...

node-di - Dependency Injection framework for Node.js

  •    CoffeeScript

I don't actively maintain this project, in favor of angular/di, which is heavily influenced by node-di and thus the migration should be easy. Eventually angular/di will be published to NPM as di@2.0. There are two things - Dependency Injection pattern (aka Inversion of Control) and Dependency Injection framework.

Radar IoC container

  •    

Very simple, fast and easy to use IoC container. Don't have any dependencies on external libraries - just pure .NET 4 Client Profile. Minimal size (~18kB in release build) makes it suitable to use in any project type.