Escolar Documentos
Profissional Documentos
Cultura Documentos
IntrPadroes PDF
IntrPadroes PDF
Orientado a Objetos
A Inspirao
Catlogo de solues
O Formato de um padro
Nome
Problema
Soluo
Conseqncias / Foras
Exemplo
Estrutura
uma representao grfica da estrutura de
classes do padro (usando OMT91) em, s
vezes, diagramas de interao (Booch 94)
Participantes
as classes e objetos que participam e quais
so suas responsabilidades
Colaboraes
como os participantes colaboram para
exercer as suas responsabilidades
Conseqncias
vantagens e desvantagens, trade-offs
Implementao
com quais detalhes devemos nos preocupar
quando implementamos o padro
aspectos especficos de cada linguagem
Exemplo de Cdigo
no caso do GoF, em C++ (a maioria) ou
Smalltalk
10
Usos Conhecidos
exemplos de sistemas reais de domnios
diferentes onde o padro utilizado
Padres Relacionados
quais outros padres devem ser usados em
conjunto com esse
quais padres so similares a este, quais
so as dierenas
11
Padres de Criao
Padres Estruturais
Padres Comportamentais
Exemplo:
12
Fbrica Abstrata
Abstract Factory (87)
Objetivo:
prover uma interface para criao
de famlias de objetos relacionados
sem especificar sua classe concreta.
13
Abstract Factory
- Motivao
Abstract Factory -
Aplicabilidade
Abstract Factory -
Estrutura
AbstractFactory
Client
CreatProductA()
CreatProductB()
AbstractProductA
ProductA2
ConcreteFactory1
ConcreteFactory2
CreatProductA()
CreatProductA()
CreatProductB()
CreatProductB()
ProductA1
AbstractProductB
ProductB2
ProductB1
16
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
17
Abstract Factory -
Colaboraes
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).
19
Abstract Factory 1.
2.
3.
Implementao
Abstract Factory 4.
5.
Implementao
Abstract Factory
Usos Conhecidos
Abstract Factory -
Padres Relacionados
Os 23 Padres do GoF
Criao
Abstract Factory
Builder
Factory Method
Prototype
Singleton
24
Os 23 Padres do GoF
Estruturais
Adapter
Bridge
Composite
Decorator
Faade
Flyweight
Proxy
25
Os 23 Padres do GoF
Comportamentais
Chain of Responsibility
Command
Interpreter
Iterator
Mediator
Memento
Observer
State
Strategy
Template Method
Visitor
26
Prxima aula
27
Recapitulando
28