Strategy adequado?

Bom dia gente,
Estou desenvolvendo uma aplicação que vai ter que substituir tokens em um texto por diferentes valores, que dependerão de atributos e métodos encontrados em diferentes classes. O proprio token é uma classe, e como o método de obtenção do valor sempre muda pensei em usar o padrão strategy.
Sou iniciante nessa parte de design e se por um lado me pareceu que o padrão se aplicava muito bem ao problema, por outro vou ter um mooonte de classes.
Outra solução que tinha pensado era usar uma classe com todos esses metodos e a classe de token usar reflexão para selecionar o método apropriado, mas não sei se seria uma arquitetura muito boa.

Obrigado
Abraços

Er… seria possível você mandar uns 2 - 3 exemplos mais palpáveis do que você quer fazer?

Então, é como se fosse um interpretador com uma linguagem expanssível. Um texto vai ser percorrido, e quando um token for encontrado eu ia procurar o objeto ao qual ele pertence, e de posse desse objeto eu executaria um método do tipo retorna valor (string no caso), baseado em algum campo, conjunto de campos, de alguma das outras classes do projeto com objetos persistidos.
O que eu tinha pensado era, crio uma interface, ou classe abstrata que sera imlpementada por cada objeto de token e sempre a uso para executar o método que preciso, independente do token implementado. Assim se quero um novo token implemento uma nova classe. Só que não sei se é um desing muito bom, ainda mais pensando que se quiser mapear cada atributo das classes com objetos persistidos posso ter uma explosão de classes.

Ex: Um texto - " Qual a cor do cavalo ##CORCAVALO## de ##NOMEPESSOA## ? "

percorro o texto
encontro ##CORCAVALO## e recupero o objeto de token relativo à string
executo o método da interface de token "retornaValor"
a implementação do token busca o atributo cor no objeto da classe Cavalo persistido
percorro o texto
encontro ##NOMEPESSOA## e recupero o objeto de token relativo à string
executo o método da interface de token "retornaValor"
a implementação do token busca o atributo cor no objeto da classe Pessoa persistido

Acho q é isso, deu pra entender um pouco melhor?

Obrigado desde já pela ajuda