O padrão interpreter pode ser utilizado quando precisamos interpretar diversas operações, como por exemplo em uma calculadora científica.
DSL: Domain Specific Language
O padrão Interpreter é geralmente útil para interpretar DSLs. É comum que, ao ler a string (como por exemplo 2+3/4), o programa transforme-o em uma melhor estrutura de dados (como as nossas classes Expressao) e aí interprete essa árvore.
É um padrão de projeto peculiar e com utilização bem específica.