O documento discute o Princípio da Segregação de Interfaces (ISP), que afirma que classes não devem implementar interfaces que não são usadas. Isso ajuda a evitar interfaces poluídas com métodos desnecessários. O documento explica como separar interfaces poluídas em interfaces específicas para que classes dependam apenas dos métodos que realmente usam.
1. The Interface Segregation Principle
Engenharia de Software Centrada em Métodos Ágil
Programação Orientada a Objetos
Thiago César
Walter Brito
Introdução
O princípio da segregação de interfaces ajuda a resolver problemas de interface
poluída. São classes cuja interface não possui coesão tornando as interfaces poluídas e
disponibilizando métodos desnecessariamente.
A Interface Segregation Principle (ISP) afirma que as classes não devem
implementar interfaces não usadas.
Interface Poluída
Quando temos uma classe que contém métodos que o mesmo não utiliza e
temos outra classe que as utiliza, a primeira classe será afetada pelas mudanças que a
segunda classe necessita.
Imagem1. Diagrama de classe poluído
Devemos separar as interfaces para esse tipo de acoplamento. Sendo assim,
algumas classes usam um grupo de funções e outras classes usam outros grupos.
Portanto as classes devem depender somente dos métodos que serão utilizados.
2. Para alcançar esse objetivo quebramos a interface da classe poluída em
interfaces específicas.
Imagem2. Diagrama de classe ISP
Conclusão
Nesse artigo ilustramos que devemos depender nas classes somente de
métodos que realmente serão utilizados. Objetivo que pode ser alcançado quebrando
as interfaces da classe poluída em interfaces específicas, quebrando a dependência de
métodos que não utilizam criando uma independência entre eles.