An inversion of control (IoC) container for Microsoft .NET. It manages the dependencies between classes so that applications stay easy to change as they grow in size and complexity. This is achieved by treating regular .NET classes as components.
In addition to the reflection-based autowiring capabilities found in other .NET containers, Autofac can use expressions to create components. This makes the container fast, very flexible, and easy to integrate into existing applications.