Sou um grande fã do DI / COI. É ótimo para lidar / abstrair dependências difíceis e facilitar a vida.
No entanto, eu tenho uma queixa pequena, que não tenho certeza de como resolver.
A idéia básica no DI / IOC é que, quando um objeto é instanciado, todas as suas dependências são preenchidas previamente no construtor.
No entanto, IMHO existem vários tipos de parâmetros para construtores (especialmente quando seus objetos são imutáveis).
- Dependências (objetos necessários para o seu objeto funcionar)
- Configuração (informações sobre o ambiente necessário para o trabalho)
- Parâmetros (dados em que o trabalho é realizado)
Acho que o COI funciona bem com dependências. Mas ainda estou tentando descobrir a melhor maneira de lidar com os outros dois. No entanto, como o construtor é executado para ser executado pelo contêiner do IOC, parece que preciso colocar esses itens no contêiner do IOC.
Gostaria de saber quais estratégias / padrões as pessoas empregam e quais vantagens e desvantagens as pessoas encontraram.
NB Estou ciente de que esta é uma questão altamente subjetiva e tentei torná-la uma "boa" questão subjetiva, de acordo com as diretrizes da SE.
I am still trying to work out the best way to deal with the other two
- Passá-los como parâmetros comuns para o seu objeto?