Interface segregation principle (ISP) – Principio da segregação de interface

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.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s