O critério comportamental reúne 11 padrões de projeto.
| Nome do Padrão | Sinopse |
|---|---|
| Interpreter | Dada uma linguagem, define uma representação para sua gramática juntamente com um interpretador que usa a representação para interpretar sentenças nessa linguagem. |
| Template Method | Define o esqueleto de um algoritmo em uma operação, postergando a definição de alguns passos para as subclasses. Esse padrão permite que as subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura. |
| Chain of Responsability | Evita o acoplamento do remetente de uma solicitação ao seu destinatário, dando a mais de um objeto a chance de tratar a solicitação. Encadeia os objetos receptores e passa a solicitação ao longo da cadeia até que um objeto a trate. |
| Command | Encapsula uma solicitação como um objeto permitindo que seja possível: parametrizar os clientes com diferentes solicitações, enfileirar solicitações, registrar (logs) solicitações ou desfazer solicitações. |
| Iterator | Fornece uma maneira de acessar sequencialmente os elementos de uma agregação de objeto sem expor sua representação subjacente. |
| Mediator | Define um objeto que encapsula a forma como um conjunto de objetos interage. Esse padrão promove o acoplamento fraco ao evitar que os objetos se refiram explicitamente uns aos outros, permitindo que seja possível variar suas interações de modo independente. |
| Memento | Sem violar o encapsulamento, captura e externaliza um estado interno de um objeto, de modo que o mesmo possa, posteriormente, ser restaurado para aquele estado anterior. |
| Observer | Define uma dependência uma-para-muitos entre objetos, de modo que, quando um objeto muda de estado, todos os seus dependentes (observadores) são automaticamente notificados e atualizados por meio do serviço de publish/subscribe. |
| State | Permite que um objeto altere seu comportamento quando seu estado interno muda, fazendo-se perceber tal modificação e acreditando parecer que o referido objeto mudou de classe. |
| Strategy | Define uma família de algoritmos, encapsula cada um deles e os tornam intercambiáveis. Esse padrão permite que o algoritmo varie independentemente dos clientes que o utilizam. |
| Visitor | Representa uma operação a ser executada sobre os elementos da estrutura de um objeto. Esse padrão permite que se defina uma nova operação sem mudar as classes dos elementos sobre os quais opera. |