No se puede combinar Factory / DI

Supongo que tengo alguna clase Foo, que tiene dos dependencias: unaISerializer<T> y unIFileAccessHandler.

Ahora esta clase también tiene otras dependencias, dependencias funcionales. No quiero que nadie cree una instancia de esta clase en un estado no válido, por lo que también necesito pasar un objeto de dominio en el constructor.

Pero, ¿cómo puedo manejar eso con IoC cuando también sé qué objeto de dominio debo pasar en el momento en que estoy creando la clase Foo?

Hice del objeto de dominio una propiedad que he establecido por una fábrica. Entonces, Factory realiza una llamada al Localizador de servicios para obtener una clase "Foo" con las dependencias, y lo llena con el objeto de dominio correcto y lo devuelve.

¿Pero es esta la mejor manera de ir? Hubiera preferido que el objeto de dominio fuera parte de mi constructor para que pareciera que realmente necesitas trabajar con "Foo".

¿Algunas ideas? ¿Me estoy perdiendo de algo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta