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

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

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

Apresentações semelhantes


Apresentação em tema: "Factory Method Projeto de Sistemas de Software Fernando de Freitas Silva."— Transcrição da apresentação:

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

2 © LES/PUC-Rio Factory Method Propósito –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

3 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

4 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

5 Estrutura

6 Participantes Product (Document) –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

7 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

8 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 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


Carregar ppt "Factory Method Projeto de Sistemas de Software Fernando de Freitas Silva."

Apresentações semelhantes


Anúncios Google