O que é uma raiz de composição no contexto da Injeção de Dependência

Eu estou explorando a injeção de dependência e o termo raiz de composição é usado em todo o lugar. Então o que é?

A raiz da composição é o único local em seu aplicativo onde a composição dos charts de object para seu aplicativo ocorre, usando o contêiner de injeção de dependência (embora como isso é feito é irrelevante, ele pode estar usando um contêiner ou pode ser feito manualmente usando puro DI )

Deve haver apenas um lugar onde isso acontece e seu contêiner não precisa ser usado fora da raiz da composição.

Citando uma das respostas relacionadas abaixo:

Na prática, isso significa que você deve configurar o contêiner na raiz do seu aplicativo.

  • Em um aplicativo de desktop, isso seria no método Main (ou muito próximo a ele)
  • Em um aplicativo ASP.NET (incluindo MVC), isso seria em Global.asax
  • No WCF, isso seria em um ServiceHostFactory
  • etc.

Há uma boa resposta aqui, que explica um pouco mais sobre isso.

Veja também esta resposta .