DI container

A good DI container will support

  • Dependency chain resolution
  • Object life-cycle management
  • Configuration of constructor parameter values