Skip to content
julinha edited this page Oct 11, 2023 · 2 revisions

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

farmacia

Exemplos de Código

  • Exemplo Boa Prática:

oque fazer

  • Permitindo isolar os comportamentos das aves de maneira correta:

  • Exemplo de Má Prática:

nao fazer

  • 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.
Clone this wiki locally