Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exemplo mais real do Interpreter

Não consegui entender muito bem esse padrão, e a explicação de outras fontes acabou me confundindo mais. Tem algum exemplo de uma implementação mais real do padrão?

Eu li em alguns lugares que um Interpreter conhece uma gramática que deve ser avaliada, e realiza essa avaliação.

Por exemplo: A partir da string 'book title #' avaliar e retornar o título do livro com o id # (este é um dos exemplos que li).

Não tinha nada relacionado a árvore nesse exemplo. Enfim... Alguém pode me dar uma luz?

1 resposta
solução!

Oi Carlos, esse é um pattern menos comum mesmo, até pq não ficamos avaliando expressões no nosso dia a dia. Você precisa abstrair um pouco e pensar em outros cenários. Por exemplo, imagine que vc queira dar suporte ao seu sistema para que um usuário possa fazer buscas usando uma linguagem natural. ex: livros com preço menor 60

Como que vc vai pegar isso e transformar para um comando de busca, seja no seu banco de dados relacional ou em outro lugar? Aqui vc tem 2 passos.. O primeiro é interpretar a string passada e conseguir quebrar ela.. Só que depois de vc quebrar, como que vc vai lidar com cada parte? Vc precisa de uma estrutura de classes qeu consiga lidar com cada parte da entrada do usuário e, nesse caso, as ideias passadas pelo interpreter podem te ajudar.