Não pode combinar Fábrica / DI

Apenas suponha que eu tenho alguma classe Foo, que tem duas dependências: umaISerializer<T> e umIFileAccessHandler.

Agora essa classe também possui outras dependências, dependências funcionais. Eu não quero ninguém instanciando essa classe em um estado inválido, então eu também preciso passar um objeto de domínio no construtor.

Mas como posso lidar com isso com IoC quando também sei qual objeto de domínio deve ser transmitido no momento em que estou realmente criando a classe Foo?

Tornei o objeto de domínio uma propriedade que defini por uma Fábrica. Portanto, a Fábrica faz uma chamada do Service Locator para obter uma classe "Foo" devidamente instanciada com suas dependências, além de preenchê-la com o objeto de domínio correto e retorná-la.

Mas este é o melhor caminho a percorrer? Eu teria preferido ter a parte de objeto de domínio do meu construtor para torná-lo aparente você realmente precisa trabalhar com "Foo".

Alguma ideia? Estou faltando alguma coisa aqui?

questionAnswers(2)

yourAnswerToTheQuestion