Você está na página 1de 19

O Padro Strategy (Estratgia)

Um dos Design Patterns para


POO mais utilizados.
O Padro Strategy (Estratgia)
REVISO
O que so Design Patterns?
O que diz o Dicionrio:
Pattern (Padro)
Uma forma ou modelo proposto para imitao
Design (Projeto)
Planejamento com propsitos determinados

O Padro Strategy (Estratgia)
REVISO
O que so Design Patterns?

Com base nisso, Design Patterns (de agora em
diante Padres de Projetos) so solues
planejadas e repetidas que agem em um conjunto de
problemas.

O Padro Strategy (Estratgia)
REVISO
Qual a notao usada nos Padres?

OMT no livro clssico Gang Of
Four
UML

O Padro Strategy (Estratgia)
REVISO
Quais Padres de Projetos sero vistos?
Os padres do GoF (Gang of Four) Gangue dos
Quatro.
Erich Gamma;
Richard Helm;
Ralph Johnson
John Vlissides;
Eles criaram os 23 padres considerados fundamentais:
O Padro Strategy (Estratgia)
REVISO
Por que usar Padres de Projetos?
Maior reutilizao de cdigo.
Flexibilidade de alterao.
Facilidade na comunicao (vocabulrio comum)
no trabalho em equipe.
Solues amplamente testadas e usadas.
O software mais legvel para novos
participantes.
Aplica-se a qualquer linguagem desde que esta
seja Orientada a objetos ou implemente OO.
O Padro Strategy (Estratgia)
REVISO
Quando no usar Padres de Projetos?
O principal foco da ao do software for
desempenho.
O Padro Strategy (Estratgia)
Agora sim! Vamos ao padro
Strategy
Define uma famlia de algortmos,
encapsula cada um deles e os torna
intercambiveis. A estratgia deixa o
algortmo variar independentemente dos
clientes que o utilizam
O Padro Strategy (Estratgia)
Exemplo no mundo real

Uma roda de carro
em um eixo
Interfaces iguais
O Padro Strategy (Estratgia)
Exemplo no mundo real

Cliente
Estratgias
Interface
INTERCMBIO TROCA RPIDA
O Padro Strategy (Estratgia)


Diagrama UML para
O padro Strategy
O Contexto
cliente,
O conjunto
da Suspenso
A interface
so os
quatros furos.
As Estratgias concretas
Strategy Cdigo php
Interface

Strategy Cdigo php
Estratgias (classes concretas)

Strategy Cdigo php
A Classe que faz o intercmbio

Strategy Cdigo php


Strategy Resultado


Strategy Em qualquer linguagem
Exerccios Propostos
1 Uma loja virtual, que pretende aplicar
descontos estratgicos em seus produtos
de acordo com a poca do ano, onde cada
produto ter descontos especiais diferentes,
conforme a poca do ano. Exemplo: Dias das
mes, dos pais, dos namorados, pscoa,
natal, das crianas.
Strategy Em qualquer linguagem
Exerccios Propostos
2 Um sistema acadmico, em que o
professor escolhe a forma de avaliao. Criar
vrias opes de avaliao dos alunos para
que o docente escolha a que lhe agrada mais.
Strategy
Padro da Prxima Aula

FACTORY

Você também pode gostar