Padrões de projeto de ti
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 lhe permite 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ção para 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ão Interpreter 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 podem interpretar 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 é