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

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

Padrões de Projeto Abstract Factory.

Apresentações semelhantes


Apresentação em tema: "Padrões de Projeto Abstract Factory."— Transcrição da apresentação:

1 Padrões de Projeto Abstract Factory

2 Abstract Factory Propósito Motivação
Prover uma interface para criar uma família de objetos relacionados ou dependentes sem especificar suas classes concretas Motivação © LES/PUC-Rio

3 Abstract Factory © LES/PUC-Rio

4 Abstract Factory Aplicabilidade
Um sistema deve ser implementado independente de como seus produtos são criados, compostos e representados. Um sistema deve ser configurado com uma de muitas famílias de produtos. Uma família de produtos foi desenvolvida para ser usada junta e é preciso reforçar esta restrição. Você quer fornecer uma biblioteca de classes de produtos e quer expor apenas as interfaces sem expor as implementações © LES/PUC-Rio

5 Abstract Factory Estrutura © LES/PUC-Rio

6 Abstract Factory Participantes AbstractFactory ConcreteFactory
Declara uma interface para a criação de objetos abstratos. ConcreteFactory Implementa as operações que criam objetos concretos. AbstractProduct Declara uma interface para um tipo de objeto. ConcreteProduct Define um objeto a ser criado pela fábrica concreta correspondente e implementa a interface de AbstractProduct. Client Utiliza somente as interfaces declaradas pelas classes AbstractFactory e AbstractProduct. © LES/PUC-Rio

7 Abstract Factory Colaborações Conseqüências
Normalmente uma única instância de uma classe ConcreteFactory é criada em tempo de execução. Essa ConcreteFactory cria objetos tendo uma implementação particular. Para criar produtos diferentes, clientes devem usar uma ConcreteFactory diferente. AbstractFactory depende de suas subclasses ConcreteFactory para criar objetos de produtos. Conseqüências O padrão isola classes concretas. Facilita o câmbio de famílias de produtos. Promove a consistência entre produtos Do lado negativo: dar suporte a novos tipos de produtos é difícil © LES/PUC-Rio

8 Abstract Factory Exemplo © LES/PUC-Rio

9 Abstract Factory © LES/PUC-Rio

10 Abstract Factory Referências Padrões de Projeto – GoF
GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J..Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos. Trad. Luiz A. M. Salgado. – Porto Alegre: Bookman, 2000. © LES/PUC-Rio


Carregar ppt "Padrões de Projeto Abstract Factory."

Apresentações semelhantes


Anúncios Google