Quando trabalhamos com injecao de dependencia, uma das formas de injecao eh via constructor.
Considerando a classe abaixo, ainda temos um forte acoplamento nas propriedades Endereco e Artigos.
public class Empresa
{
private int _cod;
public int Cod
{
get { return _cod; }
set { _cod = value; }
}
private Endereco _endereco;
public Endereco Endereco
{
get { return _endereco; }
set { _endereco = value; }
}
private Artigo _artigo;
public Artigo Artigo
{
get { return _artigo; }
set { _artigo = value; }
}
}
E quando fazemos uma injecao, teremos que passar Endereco e Artigo no mesmo constructor ? Essa certa essa forma que passei ? E terei que fazer isso para TODAS as classes que possam ser concretas, tendo 1 interface para cada classe ?
public interface IObjetoEndereco
{
...
}
public interface IObjetoArtigo
{
...
}
public class Empresa
{
private IObjetoEndereco _endereco;
private IObjetoArtigo _artigo;
public Empresa(IObjetoEndereco objeto1, IObjetoArtigo objeto2)
{
_endereco = objeto1;
_artigo = objeto2;
}
}