Difference between revisions of "Strategy Pattern (padrão de desenho)"

From Wiki**3

 
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
Material correspondente à aula 26.
+
{{NAVPO}}
 +
{{TOCright}}
 +
O padrão "stategy" permite a definição de uma família de algoritmos (representando uma estratégia para a resolução de um problema) e, ao encapsular cada um numa classe, faz com que sejam intercambiáveis. Este padrão permite que um algoritmo varie de forma independente dos seus clientes.
 +
 
 +
==Estrutura==
 +
 
 +
O padrão ''strategy'' tem a seguinte estrutura de classes:
 +
 
 +
[[Image:strategy-dpcd.png|600px]]
 +
 
 +
==Exemplos==
 +
 
 +
* [[Strategy Pattern (padrão de desenho)/Patos|Patos]]
 +
* [[Strategy Pattern (padrão de desenho)/Galinha com fome|Galinha com fome]]
 +
 
 +
== Exercícios ==
 +
 
 +
* [[Strategy Pattern (padrão de desenho)/Exercício 01: Ordenação de Gatos|Exercício 01: Ordenação de Gatos]]
 +
 
 +
[[category:Ensino]]
 +
[[category:PO]]
 +
[[category:PO Exemplos]]

Latest revision as of 14:02, 19 November 2015

Programação com Objectos
Introduction
Creation and Destruction
Inheritance & Composition
Abstraction & Polymorphism
Code Organization
Java Topics
Inner Classes
Enumerations
Data Structures
Exceptions
Input/Output
RTTI
Other Topics
JUnit Tests
UML Topics
Design Patterns
"Simple" Factory
Composite & Visitor
Command
Strategy & State
Template Method
Observer
Abstract Factory
Decorator & Adapter
Façade (aka Facade)

O padrão "stategy" permite a definição de uma família de algoritmos (representando uma estratégia para a resolução de um problema) e, ao encapsular cada um numa classe, faz com que sejam intercambiáveis. Este padrão permite que um algoritmo varie de forma independente dos seus clientes.

Estrutura

O padrão strategy tem a seguinte estrutura de classes:

Strategy-dpcd.png

Exemplos

Exercícios