pattern patron entre diferencia and design-patterns

design-patterns - patron - repository pattern java



Diferencia entre repositorio y servicio? (3)

Diría como primer intento, en el sentido general (hasta que proporciones más contexto si tienes uno):

  • un repositorio es donde coloca algunos objetos globales, para usarlos más adelante.
  • un servicio es un código de lógica de negocios, explícito (e idealmente separado de la capa de presentación y de la capa de base de datos).

¿Cuál es la diferencia entre un repositorio y un servicio? Parece que no lo entiendo.

Estoy hablando de acceso a datos a través de una capa de acceso a datos, generalmente con linq a sql.

Muy a menudo veo repositorios con métodos simples de CRUD y servicios con más métodos específicos de negocios.

Podemos tomar this publicación de blog como un ejemplo. Si observa las interfaces en la parte inferior (imágenes), tiene dos repositorios y dos servicios. ¿Cómo sabe uno qué poner dónde?

Como dije, los repositorios parecen ser más para operaciones de tipo CRUD y servicios más orientados al negocio.

Gracias


El repositorio es donde se almacenan los datos. El servicio es lo que manipula los datos.

En una comparación de situación del mundo real, si su dinero se almacena en una bóveda en un banco, la bóveda es el repositorio. El cajero que deposita, retira, etc. es el servicio.


Un repositorio es esencialmente una fachada de persistencia que utiliza semántica de estilo de colección (Agregar, Actualizar, Eliminar) para proporcionar acceso a datos / objetos. Es una forma de desacoplar la forma en que almacena los datos / objetos del resto de la aplicación.

Un servicio proporciona coordinación u otros "servicios" que se requieren para operar su aplicación. Son muy diferentes en que los Servicios generalmente no saben cómo acceder a los datos desde la persistencia, y los repositorios normalmente solo acceden a los datos / objetos para cualquier servicio que pueda tener.