¿Cuál es la forma "correcta" de implementar DI en .NET?

Estoy buscando implementar la inyección de dependencia en una aplicación relativamente grande, pero no tengo experiencia en ello. Estudié el concepto y algunas implementaciones de IoC e inyectores de dependencia disponibles, como Unity y Ninject. Sin embargo, hay una cosa que me está eludiendo....