Padrões de estrategia de software

1087 palavras 5 páginas
Padrões de Projeto de Software
Visitor – Strategy - State

Visitor


Definição
É um padrão comportamental com o propósito de representar operações a serem realizadas sobre objetos.
Permite adicionar operações especializadas sem a necessidade de modificar diversas classes.
Usado no compilador do SmallTalk-80.

Visitor


Contexto
Devemos representar operações específicas que devem ser executadas sobre objetos de diferentes classes.
Solução usual: implementar a operação separadamente em cada classe.
Solução do Visitor: separar o comportamento da classe, implementando todas as operações em uma única nova classe. Visitor


Problema
Exemplo ilustrado com um Compilador:
Árvore sintática abstrata:
● Operadores;
● Variáveis;
● Expressões matemáticas;
Exemplo de operações de um compilador na árvore sintática abstrata:
● Formatação;
● Verificação de tipos;
● Verificar se todas as variáveis estão definidas;
● Geração de código

Visitor


Problema
Problema: As operações podem necessitar tratar cada tipo de nó de maneira diferente
Desvantagens da solução usual no exemplo:
● Inclusão de novas operações requer a mudança de todas as classes de nós;
● Poluição das classes com muitas operações
– Mistura de verificação de tipos com formatação
Uso do Visitor:
● O objeto Visitor percorre os elementos da árvore;
● Se um nó da árvore “aceita” um visitor, então chama um método seu que inclui o tipo do nó como argumento e executa a operação para aquele nó (a operação que costumava estar na classe nó)

Visitor


Aplicabilidade
Quando se têm muitas classes de objetos com interfaces distintas e quer-se realizar operações nesses objetos que dependam das suas classes concretas Quando a estrutura de objetos é utilizada por diversas aplicações Quando se quer evitar a poluição da classe com operações não-relacionadas e que são utilizadas em vários objetos
Quando a estrutura que define os objetos é
praticamente

Relacionados

  • Marcelo
    3247 palavras | 13 páginas
  • 23901 1365707060559
    5896 palavras | 24 páginas
  • Questionário engenharia de software
    2398 palavras | 10 páginas
  • PADRÃO DE CONCORRÊNCIA E ESTRATÉGIAS COMPETITIVAS DA INDÚSTRIA DE SOFTWARES NO BRASIL
    3082 palavras | 13 páginas
  • IntroduzArquiteturaAl
    2243 palavras | 9 páginas
  • Empreendedorismo
    1552 palavras | 7 páginas
  • Patterns
    4259 palavras | 18 páginas
  • MONOGRAFIA Ger Ncia De Processo Uma Proposta De Arquitetura De Software De Apoio Ao TSP
    7172 palavras | 29 páginas
  • Swebok
    4944 palavras | 20 páginas
  • Controle de Qualidade e Six Sigma
    2759 palavras | 12 páginas