COI / DI: ¿Registrar un tipo de concreto es un olor a código?

He estado luchando un poco con esto en mi proyecto actual. Me he encontrado con algunos casos en los que tengo un tipo concreto que no implementa (y no necesita) ninguna interfaz específica. A veces quiero que la resolución suceda a través del contenedor porque el tipo está registrado con singleon lifecycle; a veces, el tipo tiene parámetros de constructor que forman parte de un gráfico de objeto más grande o están registrados en ciclos de vida singleton.

Siempre me parece un poco extraño cuando escribo código como:

Container.RegisterType<MyConcreteType, MyConcreteType>();

Alguna idea sobre si esto es un olor a código o viola las mejores prácticas para usar un contenedor de COI?

Respuestas a la pregunta(1)

Su respuesta a la pregunta