Skip to content

Griffitsj/YandiContainer

Repository files navigation

YandiContainer

Yet Another Dependency Injection Container

A lightweight Portable Dependency Injection Container with Unity semantics, a small footprint and understandable code

Features

  • Lifetime Support (ILifetime)

    • TransientLifetime: a new instance is created each time it is resolved
    • PerResolveLifetime: a single instance is used for each call to Resolve
    • ContainerLifetime: a single instance is held by the container and disposed when the container is disposed
    • HierarchicalLifetime: (not yet implemented)
  • Factory Creation Support (IFactory)

    • DefaultFactory: The most complex constructor is chosen to instantiate the class and the arguments are resolved using the container
    • LambdaFactory: Allows you to provide a custom factory function for instantiating your class
  • Registration

    • Named or Nameless Registration: Register a single type mapping, or multiple with each one having a different name
    • Auto Registration: a default registration is created on demand for classes not already registered with the container, using the TransientLifetime and DefaultFactory
    • Registration through code
    • Configuration file based Registration: (not yet implemented)
  • Portable Built from the ground up as a Portable Class Library supporting

    • .NET 4.0+
    • Silverlight 4+
    • Windows Phone 7+
    • .NET for Windows Store Apps
    • Xbox

About

Yet Another Dependency Injection Container

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published