Pattern para buscar dados em vários repositórios

Olá Pessoal,

Gostaria de saber se existe alguma técnica para obter dados de vários repositórios ao mesmo tempo. Estes repositórios incluem Banco de Dados, Serviços via WebService e RESTFul.

O objetivo é passar uma parâmetro como pesquisa, e retornar os dados destes distintos repositórios.

Hoje tenho uma interface que define os métodos para todos os repositórios implementarem (IClienteRepository),
e as implementações (ClienteHibernateRespository, ClienteWSRepository, ClienteRestFulRepository…).

Porém busco uma boa prática para construir minha camada de serviço. Se alguém já fez algo parecido, ficaria muito grato em ouvir sua experiência.

Abraços,

Se eu entendi direito, creio que um Facade resolveria seu problema, passando um argumento e o Facade se encarrega de fazer todas as chamadas ao Banco de Dados e Serviços, e depois retornar o resultado esperado.

Com certeza, eu encapsularia meu serviço em um façade, deixando o mais simples o possível para as camadas acima.
A minha pergunta seria sobre uma boa prática de como implementar esse serviço…

Formas de implementar eu tenho, mas gostaria de saber se existe um padrão para esse problema, que de certa forma é comum.

Abraços,