Qual é a diferença entre Padrão de Repositório e Padrão de Fachadas?

9

Eu sempre usei o padrão de repositório em meus aplicativos. Mas vi que muitas pessoas usam fachadas em vez do repositório para convenção de nomes, mas acho que a operação é a mesma. Por que existe essa diferença? Existe uma diferença real entre eles ou não?

Mirko
fonte

Respostas:

11

Uma fachada é mais geral que um repositório.

Uma fachada pode se aplicar a qualquer coisa que não seja baseada em persistência, enquanto um repositório deve encapsular o acesso a uma fonte subjacente e fazer com que pareça uma fonte de dados na memória.

As fachadas são para criar uma interface simples para outra interface complicada.

Oded
fonte
Portanto, o repositório foi projetado para se comunicar com a camada de dados e as fachadas são mais genéricas que isso. por exemplo, uma fachada pode executar outra operação, mas a estrutura é projetada como um repositório, certo?
Mirko
1
@MirkoPastorelli - pode. Um exemplo de fachada seria fornecer um único ponto de entrada para o código que realmente precisa lidar com vários subsistemas.
Oded
4
@MirkoPastorelli: um repositório não foi projetado para se comunicar com a camada de dados, foi projetado para envolver a comunicação com uma camada de dados e "abstrair isso" do usuário do repositório. (por exemplo, é possível fornecer um repositório simulado para fins de teste, que fornece apenas dados de teste codificados e não possui outras dependências). Deste ponto de vista, um repo não é senão uma forma específica de fachada.
Doc Brown