none
Interfaces C# RRS feed

  • Pergunta

  • Muito se fala de se utilizar interfaces ao inves de classes concretas. 
    Mas ate hoje confesso que ainda nao entendi o seu proposito (desacoplar o codigo)

    Entao aqui vao as perguntas:

    public class Cliente {
         public int Id {get;set;}
         public string Nome { get; set; }
         public Endereco Endereco { get; set; }
         // 1a Pergunta: aqui eu referencia a outra classe concreta (Endereco). Deveria ser essa uma Interface ?
         public IEndereco Endereco { get; set; }

    //2a pergunta
    Falam que se eu mudar algo dentro da classe Endereco, automaticamente eu poderia quebrar a Cliente por ter um forte acoplamento.
    Mas se eu fizer:
    public IEndereco Endereco e alterar IEndereco, tb nao estarei quebrando cliente ?


    sábado, 22 de setembro de 2018 15:54

Respostas

  • As interfaces são muito importantes quando queremos trabalhar com IoC, normalmente quando falamos de forte acoplamento estamos a nos referir a nível de instância, as instâncias são resolvidas através de um container(Ninject, Unity, SimpleFactor...)

    A partir do nosso container podemos fazer fazer o mapeamento das nossas interfaces com as suas implementações, e qualquer mudança no nome da classe a gente vai alterar lá apenas.

    Espero ter ajudado.

    • Marcado como Resposta AGA Neto segunda-feira, 24 de setembro de 2018 15:41
    segunda-feira, 24 de setembro de 2018 13:29