12
THE INTERFACE SEGREGATION PRINCIPLE Engenharia de Software Centrada em Métodos Ágil Programação Orientada a Objetos Thiago César Walter Brito

ISP - The Interface Segregation Principle

Embed Size (px)

DESCRIPTION

Trabalho sobre Principio de segregação de interfaces. Disciplina: Programação Orientada a Objetos Curso: Pós-Graduação em Engenharia de Software Centrada em Métodos Ágeis Alunos: Thiago César Walter Brito

Citation preview

Page 1: ISP - The Interface Segregation Principle

THE INTERFACE SEGREGATION PRINCIPLE

Engenharia de Software Centrada em Métodos ÁgilProgramação Orientada a ObjetosThiago CésarWalter Brito

Page 2: ISP - The Interface Segregation Principle

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.

INTRODUÇÃO

Page 3: ISP - The Interface Segregation Principle

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.

Page 4: ISP - The Interface Segregation Principle

INTERFACE POLUÍDA

Page 5: ISP - The Interface Segregation Principle

INTERFACE POLUÍDA

Page 6: ISP - The Interface Segregation Principle

INTERFACE POLUÍDA

Page 7: ISP - The Interface Segregation Principle

SOLUÇÃO - ISP

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.

Page 8: ISP - The Interface Segregation Principle

SOLUÇÃO - ISP

Page 9: ISP - The Interface Segregation Principle

SOLUÇÃO - ISP

Page 10: ISP - The Interface Segregation Principle

SOLUÇÃO - ISP

Page 11: ISP - The Interface Segregation Principle

SOLUÇÃO - ISP

Page 12: ISP - The Interface Segregation Principle

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.