¿Diferencia entre repositorio y capa de servicio?

En los patrones de diseño de OOP, ¿cuál es la diferencia entre el patrón de repositorio y una capa de servicio? Estoy trabajando en una aplicación ASP.NET MVC 3, y estoy tratando de entender estos patrones de diseño, pero mi cerebro simplemente no lo está entendiendo ...