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.
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.

(ISP) - Interface Segregation Principle

  • 1.
    The Interface SegregationPrinciple 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 esseobjetivo 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.