Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouGabrielhenrique Monte Alterado mais de 10 anos atrás
1
Factory Method Projeto de Sistemas de Software
Trabalho Padrões de Projeto Aleksander Medella Campos da Silva
2
Sumário Propósito Motivação Aplicabilidade Estrutura Participantes
Factory Method Sumário Propósito Motivação Aplicabilidade Estrutura Participantes Colaborações Conseqüências Exemplo de Código
3
Factory Method Propósito Definir uma interfcae para a criação de um objeto, permitindoa subclasse decidir qual das implementações deve ser instanciada; deixa uma classe deferir instanciação para subclasses [Gamma et al, 1994]. Retornar uma instância dentre muitas possíveis classes, dependendo dos dados providos a ele [Destro, 2004].
4
Factory Method Motivação Construir objetos individuais, sem que a construção requeira conhecimento das classes específicas sendo instanciadas [Destro, 2004]. Criar uma classe de abstração que decide qual das opções de classe retornar sem que a classe retornada seja de prévio conhecimento.
5
Aplicabilidade [Gamma et al, 1994]:
Factory Method Aplicabilidade [Gamma et al, 1994]: Uma classe não pode antecipar ou conhecer a classe dos objetos que deve criar; Uma classe quer suas subclasses para especificar os objetos que cria; Quando classes delegam responsabilidade à alguma das várias subclasses ajudantes, e deseja-se conhecer qual é a subclasse ajudante acessada.
6
Estrutura/Participantes
Factory Method Estrutura/Participantes Produto : inteface das classes que a Fábrica instância.
7
Estrutura/Participantes
Factory Method Estrutura/Participantes ProdutoConcreto: classes que vão implementar a interface Produto. São as diferentes classes que podem ser instanciadas.
8
Estrutura/Participantes
Factory Method Estrutura/Participantes Fábrica : implementa o método de produção que retorna um objeto do tipo Produto.
9
Estrutura/Participantes
Factory Method Estrutura/Participantes FabricaConcreta : sobrescreve o método de produção para retornar um objeto da classe ProdutoConcreto.
10
Factory Method Colaborações A criação dos objetos é de responsabilidade da classe de produção que deve retornar um objeto de uma classe apropriada.
11
Factory Method Conseqüências Elimina a necessidade de acoplar classes específicas para aplicação em nível de código; Permite maior flexibilidade para as subclasses – o “método-fábrica” funciona como uma conexão para que uma das subclasses possa prover uma versão estendida.
12
Exemplo Factory Method
Um sistema radar onde o terreno tem influência no modo de operação e processamento do radar.
13
Exemplo Factory Method public class IConstrutorRadar {
public IConstrutorRadar(){ } public abstract Radar factory(); public class ConstrutorRadar extends IConstrutorRadar{ public QuartelConcreto(){ public Radar factory(Terreno t){ if( t.isMontanha ) return new RadarMontanha(); if(t.isTerraPlana) return new RadarTerraPlana(); if( t.isMar ) return new RadarMar(); public class Radar { public Radar(){ public abstract enviarSinal(); public abstract corrigirGanho(); public abstract processarSinal(); public class RadarMar implements Radar { public RadarMar(){} public enviarSinal(){} public corrigirGanho(){} public processarSinal(){} private retirarRaflexaoAquatica(){} } public class RadarTerraPlana implements Radar { public class RadarMontanha implements Radar { private retirarClutter(){}
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.