A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Abstract Factory 0821369 – Gustavo Lopes Mourad.

Apresentações semelhantes


Apresentação em tema: "Abstract Factory 0821369 – Gustavo Lopes Mourad."— Transcrição da apresentação:

1 Abstract Factory – Gustavo Lopes Mourad

2 Gustavo Lopes Mourad © LES/PUC-Rio
Propósito Padrão de Criação “Fornecer uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar classes concretas.” Conhecido também como Kit 25/03/2017 Gustavo Lopes Mourad © LES/PUC-Rio

3 Gustavo Lopes Mourad © LES/PUC-Rio
Motivação Como garantir uma interface que funcione para diversos “look-and-feels” (Motif, Qt (KDE), Windows, etc.) ? 25/03/2017 Gustavo Lopes Mourad © LES/PUC-Rio

4 Gustavo Lopes Mourad © LES/PUC-Rio
Aplicabilidade Diminuir acoplamento entre sistemas Revelar somente as interfaces (sem as implementações) ao disponibilizar uma API Garantir que uma família de objetos seja sempre utilizada em conjunto 25/03/2017 Gustavo Lopes Mourad © LES/PUC-Rio

5 Gustavo Lopes Mourad © LES/PUC-Rio
Estrutura Diagrama de classes 25/03/2017 Gustavo Lopes Mourad © LES/PUC-Rio

6 Participantes e Colaborações
Fábrica Abstrata – Interface para operações que criam Objetos-produto abstratos Fábrica Concreta – Implementa a Fábrica Abstrata. Produto Abstrato – Interface para um Objeto-Produto Produto Concreto – Implementa um Objeto-Produto a ser criado Cliente – Utiliza as interfaces Colaborações Abstract Factory delega a criação de novos objetos para Concrete Factory Cada Produto precisa de uma Fábrica específica 25/03/2017 Gustavo Lopes Mourad © LES/PUC-Rio

7 Gustavo Lopes Mourad © LES/PUC-Rio
Conseqüencias Isolamento das classes concretas Diminuição do acoplamento entre sistemas Controle sobre criação de novos objetos Facilita a troca de implementações A troca de implementações não afeta a classe cliente Promove harmonia entre objetos Assegura que um conjunto de objetos sempre trabalharão da forma a qual foram projetados Diminui a flexibilidade dos objetos criados Interface da Fábrica deveria ser extendida 25/03/2017 Gustavo Lopes Mourad © LES/PUC-Rio

8 Gustavo Lopes Mourad © LES/PUC-Rio
Exemplo de Código 25/03/2017 Gustavo Lopes Mourad © LES/PUC-Rio

9 Gustavo Lopes Mourad © LES/PUC-Rio
Referências Gamma, E; Helm, R; Johnson, R; Vlissides, J; Design Patterns – elements of reusable object-oriented software; Addison Wesley Longman, Inc., 1995. Freeman, E; Freeman, E; Bates, B; Sierra, K; Head First Design Patterns, O’Reily Media, Inc 25/03/2017 Gustavo Lopes Mourad © LES/PUC-Rio

10 Nome do Autor © LES/PUC-Rio
Fim Dúvidas? 25/03/2017 Nome do Autor © LES/PUC-Rio


Carregar ppt "Abstract Factory 0821369 – Gustavo Lopes Mourad."

Apresentações semelhantes


Anúncios Google