Seja uma expressão matemática representada por uma árvore semântica abstrata, a partir da qual você pode implementar diversas operações como, por exemplo, cálculo do valor da expressão, a verificação sintática e a semântica dessa expressão ou a geração da expressão em notação polonesa. Cada nó da árvore corresponde a um elemento da expressão: número, variável, operadores (soma, subtração, multiplicação, divisão), entre outros. Em vez de definir em cada nó várias operações ligadas às diversas finalidades, esse padrão sugere que o processamento dos nós para cada finalidade (cálculo do valor, verificação sintática etc.) seja concentrado em uma classe que implementa um método para cada tipo de nó (ex.: número, variável, operadores etc.), sendo que esses métodos recebem como parâmetro o objeto correspondente ao nó a ser processado.
Seja uma expressão matemática representada por uma árvore semântica abstrata, a partir da qual você pode implementar diversas operações como, por exemplo, cálculo do valor da expressão, a verificação sintática e a semântica dessa expressão ou a geração da expressão em notação polonesa. Cada nó da árvore corresponde a um elemento da expressão: número, variável, operadores (soma, subtração, multiplicação, divisão), entre outros. Em vez de definir em cada nó várias operações ligadas às diversas finalidades, esse padrão sugere que o processamento dos nós para cada finalidade (cálculo do valor, verificação sintática etc.) seja concentrado em uma classe que implementa um método para cada tipo de nó (ex.: número, variável, operadores etc.), sendo que esses métodos recebem como parâmetro o objeto correspondente ao nó a ser processado.
- Observer
- Visitor
- Template Method
- Mediator
- State