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

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

Factory Method Projeto de Sistemas de Software

Apresentações semelhantes


Apresentação em tema: "Factory Method Projeto de Sistemas de Software"— 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
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(){}


Carregar ppt "Factory Method Projeto de Sistemas de Software"

Apresentações semelhantes


Anúncios Google