Projeto de Sistemas de Software Fernando de Freitas Silva

Slides:



Advertisements
Apresentações semelhantes
Soluções elegantes para problemas recorrentes
Advertisements

Orientação a objetos identidade abstração classificação encapsulamento
Carlos Roberto Marques Junior
Padrão de Projeto Iterator
PADRÕES DE PROJETO..
Java – Classes Abstratas
Projeto de Sistemas de Software
Design Patterns Builder Pattern
Projeto de Sistemas de Software
Projeto de Sistemas de Software
Elisabeth Suescún Leandra Mara da Silva
Projeto de Sistemas de Software Trabalho de Padrões de Projeto
Factory Method Projeto de Sistemas de Software
Projeto de Sistemas de Software Kelly Leal Leandra Mara da Silva
Padrão Bridge (Handle/Body)
1 Builder Padrões de projeto Projeto de Sistemas de Software Aleksander Bruno Gadelha Setembro, 2008.
Projeto de Sistemas de Software Hazel, Juliana e Luana
Projeto de Sistemas de Software Fernando de Freitas Silva
Projeto de Sistemas de Software
Projeto de Sistemas de Software(PSS) Baldoino F. dos S. Neto
Projeto de Sistemas de Software Sérgio Luiz Ruivace Cerqueira
Diagramas de Seqüência
Strategy Projeto de Sistemas de Software
Padrões de Projeto Mediator.
Padrões de Projeto Prototype.
Abstract Factory – Gustavo Lopes Mourad.
Padrão de Projeto Iterator
Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 7 de abril de.
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
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
April 05 Prof. Ismael H. F. Santos - 1 Módulo III Padrões GOF:FactoryMethod Professores Eduardo Bezerra –
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Eduardo Bezerra Padrões GoF Eduardo Bezerra
Template Method Intenção: definir o esqueleto de um algoritmo em uma operação, postergando (delegando) a definição de alguns passos desse algoritmo para.
Padrões GoF – Factory Method
Padrão de Construção Factory Method
Geração de Código.
Padrão de Projeto Builder
Polimorfismo em C#.
Strategy e Template Method
Fundamentos da Engenharia de Software
Padrões de projeto detalhados Factory Method, Abstract Factory
Singleton e Adapter Professor: Nazareno Andrade
Projeto de Sistemas de Software(PSS)
Design Patterns Bridge
Estudo de Caso: um editor de documentos
Aula prática 14 Orientação a Objetos – C++ Parte 2
Introdução às Java Threads
Padrão de Projeto Iterator Projeto de Sistemas de Software Thiago Pinheiro de Araújo.
Trabalho Final de Padrões de Projeto
Classes Abstratas e Interfaces GX – Aula05 1.
Padrões de Projeto Abstract Factory.
Linguagem de Modelagem Unificada
Factory.
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 Projetos Professora Lucélia. Conceitos É uma solução conhecida para um problema comum São técnicas que nos dão uma boa solução para determinados.
Aula 6 – Padrão Factory Method
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Aula 7 – Padrão Abstract Factory
Padrões Criacionais Abstraem o processo de criação de instâncias (objetos), oferecendo flexibilidade no que é criado, por quem, como e quando.
Aula 8 – Padrão Singleton
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Java Como Programar, 8/E Deitel/Deitel, 8e. Java – Como programar Copyright © 2010 Pearson Education Slide 1.
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.
GRASP: Projeto de Objetos com Responsabilidade – Parte 2.
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Transcrição da apresentação:

Projeto de Sistemas de Software Fernando de Freitas Silva Factory Method Projeto de Sistemas de Software Fernando de Freitas Silva

Factory Method Propósito Também conhecido como: Definir uma interface para criar um objeto, mas deixar que subclasses decidam que classe instanciar. Factory Method permite que uma classe delegue a responsabilidade de instanciação às subclasses. Também conhecido como: Virtual Constructor © LES/PUC-Rio

Motivação Framework para manipulação de documentos “genéricos”: Queremos delegar para a instanciação do framework a criação do documento, mas o gerenciamento em si é realizado no próprio framework. Existem coisas em comum nos métodos referentes à criação do manipulador e do documento anteriores? © LES/PUC-Rio

Aplicabilidade Uma classe não sabe que objeto, especificamente, deve criar. Quando deseja-se postergar a criação para o “especialista” que cria o objeto: a subclasse com o factory method implementado. Quando deseja-se saber qual dos “especialistas” recebe a delegação de criação do objeto, e em que lugar (do sistema) isso é definido. © LES/PUC-Rio

Estrutura © LES/PUC-Rio

Participantes Product (Document) ConcreteProduct (MyDocument) Define a interface dos objetos que o factory method cria ConcreteProduct (MyDocument) Implementa a interface do produto. Creator (Application) Declara o factory method, o qual retorna um objeto do tipo Product. Pode chamar o factory method para criar um objeto Product. ConcreteCreator (MyApplication) Redefine o factory method para retornar uma instância de um ConcretProduct. © LES/PUC-Rio

Colaborações Criador confia em suas subclasses para definir o método da fábrica de forma que ela devolva um exemplo de ConcretProduct apropriado. © LES/PUC-Rio

Conseqüências Factory Methods eliminam a necessidade de colocar classes específicas da aplicação no código O código só lida com a interface Produto O código pode portanto funcionar com qualquer classe ProdutoConcreto Provê ganchos para subclasses Criar objetos dentro de uma classe com um Factory Method é sempre mais flexível do que criar objetos diretamente O Factory Method provê um gancho para que subclasses forneçam uma versão estendida de um objeto © LES/PUC-Rio