Padrão de Projeto Strategy

418 palavras 2 páginas
Tópicos Avançados em
Linguagem de Programação

Padrões de Projeto
Strategy
Prof. Alexandre Vidal
DEINF-UFMA
Ciência da Computação

Tópicos Avançados em
Linguagem de Programação


Strategy


Classificação:





Propósito: Comportamental
Escopo: Objetos

Intenção:




define uma família de algoritmos, encapsula cada algoritmo e os torna intercambiáveis, permitindo que o algoritmo varie independente dos clientes que o utilizam.

a.k.a.:


Policy

Tópicos Avançados em
Linguagem de Programação


Strategy


Motivação:




clientes que necessitam de diferentes algoritmos se tornam mais complexos se os incluirem em seu código; diferentes algoritmos são adequados em diferentes situações na resolução de um mesmo problema; Tópicos Avançados em
Linguagem de Programação


Strategy


Aplicabilidade (use Strategy quando):







muitas classes relacionadas diferem somente no seu comportamento; você necessita de variantes de um algoritmo; um algoritmo usa dados sobre os quais o cliente não precisa ter conhecimento; comandos condicionais relacionados para escolher entre muitos comportamentos de uma classe podem ser movidos para sua própria classe
Strategy

Tópicos Avançados em
Linguagem de Programação


Strategy


Estrutura

Tópicos Avançados em
Linguagem de Programação


Strategy


Participantes






Strategy: define uma interface comum para todos os algoritmos suportados;
ConcreteStrategy: implementa o algoritmo usando a interface de Strategy;
Context:




é configurado com um objeto ConcreteStrategy; mantém uma referência para um objeto Strategy; pode definir uma interface que permite a Strategy acessar seus dados.

Tópicos Avançados em
Linguagem de Programação


Strategy


Colaborações




Strategy e Context interagem para implementar o algoritmo escolhido; os clientes usualmente criam e passam um objeto

Relacionados

  • SGI relat rio novo
    395 palavras | 2 páginas
  • Banco de dados
    1320 palavras | 6 páginas
  • Padrões de estrategia de software
    1087 palavras | 5 páginas
  • EXERCICIO POS
    548 palavras | 3 páginas
  • Patterns
    4259 palavras | 18 páginas
  • Padrões de Software
    2208 palavras | 9 páginas
  • Design Patterns
    3121 palavras | 13 páginas
  • padroes mvc
    5030 palavras | 21 páginas
  • Padrões de Projetos
    5705 palavras | 23 páginas
  • PADRÕES DE PROJETO
    1809 palavras | 8 páginas