Padrões de projeto de ti

Páginas: 13 (3031 palavras) Publicado: 1 de outubro de 2012
Introdução
São os padrões que estão preocupados com os algoritmos e as atribuições de responsabilidade entre objetos. Descrevem não só os padrões entre objetos ou classes, mas também os padrões de comunicação entre eles.
Estes padrões caracterizam um complexo fluxo de controle que é difícil de seguir em tempo de execução. Eles transportam sua atenção para longe do fluxo de controle e lhepermite concentrar-se apenas no modo como os objetos estão interconectados.
Lista de padrões comportamentais:
Interpreter
Template Method
Chain of responsibility
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor

Interpreter

Tem por objetivo definir uma representação para a gramática de uma linguagem juntamente com um interpretador que usa a representaçãopara interpretar sentenças na linguagem sob a forma de uma linguagem formal simples.
Motivo
O motivo de se usar esse padrão e que um determinado tipo de problema pode ocorre com freqüência, então ele pode ser útil para expressar instâncias do problema como sentenças em uma linguagem simples. Depois, você pode construir um intérprete que resolve o problema interpretando estas sentenças.
O padrãoInterpreter descreve como definir uma gramática para linguagens simples, representando sentenças da linguagem, e interpretando essas frases.
O padrão Interpreter funciona melhor quando a gramática é simples. Para gramáticas complexas, a hierarquia de classe para a gramática torna-se grande e incontrolável. Ferramentas como geradores de analisador são a melhor alternativa nesses casos.
Eles podeminterpretar expressões sem a construção de árvores sintáticas abstratas, o que pode economizar espaço e possivelmente tempo.

O padrão Interpreter tem os seguintes benefícios e passivos:

- É fácil de mudar e ampliar a gramática. Porque o padrão usa classes para representar as regras de gramática, você pode usar a herança para alterar ou ampliar a gramática.
- Implementar a gramática éfácil, também. Classes que definem nós na árvore de sintaxe abstrata tem implementações semelhantes. Essas classes são fáceis de escrever, e muitas vezes a sua geração pode ser automatizado com um gerador de compilador ou interpretador.
- Gramáticas complexas são difíceis de manter. O padrão Interpreter define pelo menos uma classe para todas as regras na gramática (as regras gramaticais definidosusando BNF podem exigir várias classes).
Daí gramáticas que contêm muitas regras podem ser difíceis de gerenciar e manter.
- Adicionando novas maneiras de interpretar expressões. O padrão Interpreter torna mais fácil para avaliar uma expressão de uma nova maneira. Por exemplo, você pode suportar a impressão bonita ou tipo de verificação de uma expressão através da definição de uma nova operaçãosobre as classes de expressão.

Exemplo:

match: inputState
| aState finalState |
aState := inputState.
finalState := inputState copy.
[aState isEmpty]
whileFalse:
[aState := repetition match: aState.
finalState addAll: aState].
^ finalState

Template method
Template Method define a estrutura de um algoritmo em uma operação, transferindo algumas operações para subclasses e assubclasses podem redefinir certos passos de uma operação sem alterar a estrutura da classe.
O padrão Template method deve ser usado para implementar as partes invariantes de uma classe e os métodos q variam devem ser implementados pelos métodos.
Template Method ajuda na reutilização de código, neste padrão uma superclasse é criada com os métodos utilizados em varias subclasses dessas classes.Implementação
* A linguagem C++ é utilizada no controle de acesso as operações primitivas para garantir que eles vão ser acessados somente pelo template method.
* Ajuda a minimizar operações primitivas.
* Permiti a utilização de nomenclaturas para identificar as operações.

Exemplo:
void View:Display () {
SetFocus();
DoDisplay();
ResetFocus();
}

Chain of Responsability
Propósito...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • PADRÕES DE PROJETO
  • Padrões de projetos
  • Padroes de projeto
  • Padrões de Projetos
  • Padrões de Projeto
  • padroes de projetos
  • Padroes de projeto
  • Padrões de Projeto

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!