Práticas recomendadas para injeção de dependência via construtor

Inversão de controle é uma técnica à prova de valor usada para modularizar um sistema e desacoplar os componentes um do outro.

O baixo acoplamento é sempre uma vantagem: simplifica o teste automático dos componentes e torna o código em conformidade comprincípio de responsabilidade única.

Entre as maneiras de declarar uma dependência para outra classe (localizador de serviço, injeção de propriedade chamando um método público / definindo uma propriedade pública ...), a injeção de construtor parece ser a melhor abordagem.

Embora seja provavelmente o mais difícil (pelo menos dos três listados) de implementar, ele traz vantagens significativas:

todas as dependências são realmente visíveis com a assinatura do construtor;dependências cíclicas não acontecem devido à ordem bem definida de instanciação.

Quais são os prós / contras das muitas opções que o C ++ oferece para executar a injeção via construtor?

questionAnswers(1)

yourAnswerToTheQuestion