(20 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | {{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. | ||
− | [[category:PO | + | ==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]] |
Contents |
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.
O padrão strategy tem a seguinte estrutura de classes: