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

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

Factory Method Projeto de Sistemas de Software Trabalho Padrões de Projeto Aleksander Medella Campos da Silva.

Apresentações semelhantes


Apresentação em tema: "Factory Method Projeto de Sistemas de Software Trabalho Padrões de Projeto Aleksander Medella Campos da Silva."— Transcrição da apresentação:

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 Colaborações Conseqüências Exemplo de Código Factory Method

3 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]. Factory Method

4 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. Factory Method

5 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. Factory Method

6 Estrutura/Participantes Factory Method Produto : inteface das classes que a Fábrica instância.

7 Estrutura/Participantes Factory Method ProdutoConcreto: classes que vão implementar a interface Produto. São as diferentes classes que podem ser instanciadas.

8 Estrutura/Participantes Factory Method Fábrica : implementa o método de produção que retorna um objeto do tipo Produto.

9 Estrutura/Participantes Factory Method FabricaConcreta : sobrescreve o método de produção para retornar um objeto da classe ProdutoConcreto.

10 Colaborações A criação dos objetos é de responsabilidade da classe de produção que deve retornar um objeto de uma classe apropriada. Factory Method

11 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. Factory Method

12 Exemplo Factory Method Um sistema radar onde o terreno tem influência no modo de operação e processamento do radar.

13 Exemplo 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 RadarMar(){} public enviarSinal(){} public corrigirGanho(){} public processarSinal(){} } public class RadarMontanha implements Radar { public RadarMar(){} public enviarSinal(){} public corrigirGanho(){} public processarSinal(){} private retirarClutter(){} } Factory Method


Carregar ppt "Factory Method Projeto de Sistemas de Software Trabalho Padrões de Projeto Aleksander Medella Campos da Silva."

Apresentações semelhantes


Anúncios Google