All posts tagged interfaces

Salve, salve, galera, vamos continuar nossa conversa sobre os princípios SOLID. Agora vamos falar do princípio da segregação de interface. Esse princípio nos diz que;

Os clientes não devem ser forçados a depender de interfaces que eles não usam.

Quer dizer, não podemos ter uma classe dependendo de uma interface que não faz sentido para ela, ou que o obrigue a implementar métodos que não fazem sentido. Em outras palavras, damos preferencia para interfaces especificas ao invés de interfaces genéricas.

Em linhas gerais, imaginem que tenhamos uma Classe PessoaFisica e uma PessoaJuridica ambas implementando uma interface IPessoa, acontece que colocamos nessa interface um método ObterPeloCNPJ(…) que sentido faz esse método para a classe PessoaFisica ? Devemos criar interfaces menos genéricas e usa-las então. Poderíamos como uma solução para esse problemas, ter ainda uma interface IPessoa, porem deveríamos ainda ter uma interface IPessoaFisica e uma IPessoaJuridica e deixar os pontos específicos dentro de cada uma.

Esse principio se trata de uma dos mais simples de entendimento e de aplicar. E gera um grande controle quando estamos falando de equipes de médio/grande porte.

Pessoal nesse princípio não vou fazer um exemplo, mas caso surja alguma duvida não exitem em entrar em contato.