Camada de serviço / padrão de repositório

Estou criando um aplicativo MVC usando o padrão Camada de serviço / Repositório / Unidade de trabalho com EF4.

Estou um pouco confuso com a lógica. Eu sei que o ponto é desacoplar o sistema, mas estou um pouco confuso.

Portanto, os controladores MVC chamam os serviços para preencher os modelos de exibição. Então, é seguro dizer que o MVC App está acoplado à Camada de Serviço?

Em seguida, a Camada de Serviço chama o Repositório para obter e persistir objetos. É seguro dizer que a Camada de Serviço depende do Repositório?

O Repositório utiliza o EF4 para obter e manter dados no servidor SQL, portanto, eu suponho que o Repositório depende do EF4, que por sua vez depende do SQL Server.

Onde a unidade de trabalho se encaixa?

Algum exemplo, por favor? Obrigado!!

questionAnswers(3)

yourAnswerToTheQuestion