Voltar
🎨 Design de Código

Interface Segregation Principle

Não obrigue ninguém a depender do que não usa

Interfaces devem ser específicas para cada cliente.

🎨
👶

Explicando como se você tivesse 5 anos

Agora sim! 🎉

Se você vai ao restaurante só para beber suco, não precisa saber fazer todos os pratos do cardápio!

⚠️
🚩

Por que isso é uma Red Flag?

Atenção ao problema! ⚡

Interfaces gordas forçam implementações a incluir métodos desnecessários, criando acoplamento desnecessário e implementações vazias ou com exceções. Indica design que não considerou as necessidades específicas de cada cliente. A oportunidade está em quebrar interfaces grandes em interfaces menores e mais coesas.

Compartilhar:

História

Uncle Bob formulou o ISP após observar que interfaces "gordas" (com muitos métodos) forçavam classes a implementar métodos que não usavam, criando dependências desnecessárias.

Quem Inventou

Robert C. Martin (Uncle Bob)

Ano: 2000

Para que serve

Manter interfaces pequenas e focadas, evitando dependências desnecessárias.

Explicação Detalhada

O Princípio da Segregação de Interface afirma que nenhum cliente deve ser forçado a depender de métodos que não usa. Em vez de uma interface grande com muitos métodos, crie interfaces menores e específicas. Exemplo ruim: IWorker com métodos work() e eat(), forçando robôs a implementar eat(). Exemplo bom: IWorkable com work() e IFeedable com eat().

Fontes e Referências

Quer se aprofundar? Confira essas fontes oficiais: