Não sei o contexto inteiro, mas é comum isso ser resolvido com strategy pattern.