Académique Documents
Professionnel Documents
Culture Documents
PadresdeProjeto
2/28
A Inspirao
Livros
PadresdeProjeto
3/28
Catlogo de solues
4/28
PadresdeProjeto
5/28
6/28
O Formato de um padro
Nome
Problema
Soluo
Conseqncias / Foras
7/28
Objetivo / Inteno
Tambm Conhecido Como
Motivao
Participantes
Estrutura
Aplicabilidade
Colaboraes
PadresdeProjeto
8/28
Conseqncias
Implementao
Usos Conhecidos
Exemplo de Cdigo
Padres Relacionados
PadresdeProjeto
9/28
Na aula de hoje:
PadresdeProjeto
10/28
Fbrica Abstrata
Abstract Factory (87)
Objetivo:
prover uma interface para criao de famlias de
objetos relacionados sem especificar sua classe
concreta.
PadresdeProjeto
11/28
Abstract Factory
- Motivao
PadresdeProjeto
12/28
Abstract Factory -
Aplicabilidade
13/28
Abstract Factory -
Estrutura
AbstractFactory
Client
CreatProductA()
AbstractProductA
CreatProductB()
ProductA2
ConcreteFactory1
ConcreteFactory2
CreatProductA()
CreatProductA()
CreatProductB()
CreatProductB()
ProductA1
AbstractProductB
ProductB2
PadresdeProjeto
ProductB1
14/28
Abstract Factory
Participantes
AbstractFactory (WidgetFactory)
ConcreteFactory (MotifWidgetFactory,
WindowsWidgetFactory)
AbstractProduct (Window, ScrollBar)
ConcreteProduct (MotifWindow,
MotifScrollBar, WindowsWindow,
WindowsScrollBar)
Client - usa apenas as interfaces declaradas pela
AbstractFactory e pelas classes AbstratProduct
PadresdeProjeto
15/28
Abstract Factory -
Colaboraes
16/28
Abstract Factory -
Conseqncias
O padro
1. isola as classes concretas dos clientes;
2. facilita a troca de famlias de produtos (basta
trocar uma linha do cdigo pois a criao da fbrica
concreta aparece em um nico ponto do programa);
3. promove a consistncia de produtos (no h o
perigo de misturar objetos de famlias diferentes);
4. dificulta a criao de novos produtos
ligeiramente diferentes (pois temos que modificar
a fbrica abstrata e todas as fbricas concretas).
PadresdeProjeto
17/28
Abstract Factory 1.
2.
3.
Implementao
PadresdeProjeto
18/28
Abstract Factory 4.
5.
Implementao
19/28
Abstract Factory -
Exemplos de Cdigo
PadresdeProjeto
20/28
Abstract Factory
Usos Conhecidos
21/28
Abstract Factory -
Padres Relacionados
22/28
Os 23 Padres do GoF
Criao
Abstract Factory
Builder
Factory Method
Prototype
Singleton
PadresdeProjeto
23/28
Os 23 Padres do GoF
Estruturais
Adapter
Bridge
Composite
Decorator
Faade
Flyweight
Proxy
PadresdeProjeto
24/28
Os 23 Padres do GoF
Comportamentais
Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
PadresdeProjeto
25/28
PadresdeProjeto
26/28
Recapitulando
PadresdeProjeto
27/28
Prximas Aulas
PadresdeProjeto
28/28