-
Notifications
You must be signed in to change notification settings - Fork 0
ISP
ISP
Interface Segregation Principle
Princípio da Segregação da Interface — Uma classe não deve ser forçada a implementar interfaces e métodos que não irão utilizar.
Esse princípio basicamente diz que é melhor criar interfaces mais específicas ao invés de termos uma única interface genérica.
Quando você aplica o princípio de herança, fazendo uma classe herdar da outra, sua classe filha é obrigada a implementar os métodos da classe pai e como você já deve estar imaginando, isso vai contra os princípios do SOLID, pois não é nada interessante que uma classe implementa métodos que não é útil para ela.
Com o princípio de segregação de interface, é possível implementar somente o que importa para as nossas classes.
Exemplo
Exemplos de Código
- Exemplo Boa Prática:
-
Permitindo isolar os comportamentos das aves de maneira correta:
-
Exemplo de Má Prática:
- Fica evidente como atribuímos comportamentos genéricos para todas as demais classes. A Classe Pinguim, por exemplo, acabou sendo forçada a ter o método “setAltitude”, situação que não deveria acontecer pois os pinguins não voam.