Abstract Factory 0821369 – Gustavo Lopes Mourad.

Slides:



Advertisements
Apresentações semelhantes
Padrão de Projeto Iterator
Advertisements

Design Patterns Patrícia Mateus nº3343 Carla Guerreiro nº3157
Engenharia de Software
Docente Responsável: Dra. Isabel Brito
Modelagem de Software Orientado a Objetos
Sistema para Criação e Testes de Modelos Formais
Processos e Threads Processos.
Processos e Threads Processos.
Projeto de Sistemas de Software
Design Patterns Builder Pattern
Elisabeth Suescún Leandra Mara da Silva
Factory Method Projeto de Sistemas de Software
Projeto de Sistemas de Software Kelly Leal Leandra Mara da Silva
Padrão Bridge (Handle/Body)
Elizabeth Suescún Monsalve
Projeto de Sistemas de Software Hazel, Juliana e Luana
Projeto de Sistemas de Software
Projeto de Sistemas de Software Fernando de Freitas Silva
Projeto de Sistemas de Software(PSS) Baldoino F. dos S. Neto
Padrão de Projeto Memento
Strategy Projeto de Sistemas de Software
Chain of Responsibility
Projeto de Sistemas de Software
Padrões de Projeto Mediator.
Padrões de Projeto Prototype.
Template Method Projeto de Sistemas de Software. © LES/PUC-Rio Template Method Motivação.
Projeto de Sistemas de Software Leandra Mara da Silva
Padrão Abstract Factory
1 Introdução aos padrões de projeto (GoF) Conceitos preliminares –Mecanismos de herança –Princípio de Substituição de Liskov –Acoplamento concreto x Acoplamento.
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Padrões GoF – Factory Method
Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho
Design Pattern e a Reusabilidade de Software
Padrão de Construção Factory Method
CURSO DE ESPECIALIZAÇÃO PARTE 4: PADRÕES FACTORY E DAO
Fundamentos da Engenharia de Software
Padrões de projeto detalhados Factory Method, Abstract Factory
Vector To Raster Factory & Strategy Eric Silva Abreu São José dos Campos - 15 de dezembro de 2006.
Tabelas de decisão para a automação da geração e da execução de casos de teste Luana Lachtermacher.
Chain of Responsibility
Linguagens Orientadas a Objeto
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 1 Padrões de Projeto para Sistemas Web Misael Santos e Rossana Andrade Universidade.
Adriano S. Castro André Abdalla
1 Gestão de Desejos Engenharia de Software numa empresa certificada de Telecomunicações José Bonnet FCUP, 2003.Mai.19.
APLICANDO O PROCESSO DIRIGIDO POR RESPONSABILIDADES PARA A CRIAÇÃO DE UM SUBFRAMEWORK PARA VALIDAÇÃO SINTÁTICA DE FÓRMULAS Autores: Rafael Hornung Simone.
LEONARDO SIMAS JUSSI BARROS WESLLEY VIEIRA Flyweight.
Design Pattern (Padrões de Projeto)
Decorator POO - Avançado.
Padrões de Projeto.
AULA 04 - POO. História 02 (usar interface): De acordo com o tipo do cliente implementar um método para dar desconto. Nesse processo está envolvido o.
Padrão de Projeto Iterator Projeto de Sistemas de Software Thiago Pinheiro de Araújo.
Trabalho Final de Padrões de Projeto
Padrões de Design Toacy Cavalcante de Oliveira. 2 April 20, 2015 Problema.
Padrões de Projeto Abstract Factory.
Design Patterns Fundamentos da engenharia de softaware. 19/1/2003.
ABC reuso Reengenharia Primeiras conclusões. ABC reuso Análise do Código Fonte Arquitetura em Camadas Fachada (SIAlocacaoPlus) Negócio (Cadastros) Persistência.
DC - UFC Copyright © 2003 Misael Santos e Rossana Andrade 1 Padrões de Projeto para Sistemas Web Misael Santos e Rossana Andrade Universidade.
Abstract Factory Pattern Algumas aplicações precisam criar objetos de classes que podem mudar ex: elementos de um sistema GUI. –Diferentes padrões precisam.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF: AbstractMethod Professores Eduardo Bezerra –
Design Patterns A adoção dos padrões terá um efeito profundo e duradouro sobre a forma de escrevermos programas Ward Cunningham e Ralph Johnson.
Padrões de Projeto de Software Orientado a Objetos
1 Design Patterns Israel Rios. 2 Origens A idéia de padrões de projeto não teve origem na ciência da computação Christopher Alexander A Pattern Language:
CURSO DE ESPECIALIZAÇÃO EM TECNOLOGIA JAVA DESIGN PATTERNS Prof. Cesar Augusto Tacla UTFPR/Campus Curitiba.
1 - Introdução a Padrões de Projeto
Padrões de Projeto de Criação Padrões de Projeto Orientados a Objetos Prof a. Danielle Martin Universidade de Mogi das Cruzes.
1 Introdução aos Padrões de Projetos (na prática) Créditos: Lúbia Vinhas Hazel Carvalho Crato Adaptações: Prof. Nécio de Lima Veras.
Jadson Xavier Muller Oliveira.  É difícil encontrar alguma definição consensual de padrão.  Definição aceitável: - São idéias que foram úteis em algum.
1 Padrões de Projeto de Software Orientado a Objetos Programação Orientada a Objetos Prof. Fabio Kon - IME/USP.
1 Introdução aos Padrões de Projetos Créditos: Prof. Fabio Kon - IME/USP Adaptações: Prof. Nécio de Lima Veras.
Programação Orienta a Objetos (SI) Análise e Projetos de Sistemas (LCC) 1 - Introdução a Padrões de Projeto Eduardo de Lucena Falcão.
Transcrição da apresentação:

Abstract Factory 0821369 – Gustavo Lopes Mourad

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

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

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

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

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

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

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

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. 2004. 25/03/2017 Gustavo Lopes Mourad © LES/PUC-Rio

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