Injeção de dependência para resolver dependências circulares
Exemplo:
class MyClass
{
Composition m_Composition;
void MyClass()
{
m_Composition = new Composition( this );
}
}
Estou interessado em usar injeção de dependência aqui. Então terei que refatorar o construtor para algo como:
void MyClass( Composition composition )
{
m_Composition = composition;
}
No entanto, agora tenho um problema, já que oComposition
-object depende do objeto do tipoMyClass
que acabou de ser criado.
Um contêiner de dependência pode resolver isso? Isso deveria ser feito?
Ou é apenas um design ruim desde o início?