2010-02-19 32 views
13

¿Estoy en lo cierto al pensar que el propósito de una capa de servicio incluye lo siguiente?Finalidad de la capa de servicio

  • adelgazamiento de modelos de dominio (es decir, movimiento de ciertas funciones como en el almacenamiento en caché, instanciación)
  • reducción en las dependencias de modelos de dominio
  • API minimización
+1

Recibí mis respuestas .... leyendo esta página ... Gracias por preguntar. –

Respuesta

14

En términos de diseño de dominio impulsada por ejemplo, la capa de servicio de dominio se usa para operaciones que no se pueden definir en el contexto de sus objetos de Dominio. Por ejemplo, si tiene un objeto CreditCard, una operación adecuada en su capa de servicio sería emitir una nueva tarjeta de crédito.

En una aplicación más grande se usa el patrón Anemic Domain Models, donde los objetos de dominio se usan solo como contenedores de datos y toda la lógica empresarial está en la capa de servicio de su dominio (esto a veces se conoce como antipatrón, pero puede ser muy útil en una gran solución, con agregar otra capa de abstracción).

Sin embargo, en diferentes arquitecturas y patrones de soluciones, la capa de servicio puede tener un propósito diferente.

16

Tradicionalmente (cuando no se usa el Diseño Dirigido por Dominio) la capa de servicio, o 'capa empresarial' como también se la llama, es donde se codifica toda la lógica de negocios para su aplicación. Entonces, por ejemplo, en una aplicación que trata de otorgar préstamos bancarios, la capa de servicio es donde va el código que decide si se debe o no otorgar un determinado préstamo. Obviamente, la capa de servicio requeriría cierta información sobre el solicitante del préstamo para poder tomar una decisión sobre su credibilidad. Para recuperar esta información, la capa empresarial llama a la capa 'datos' o 'repositorio', que se ocupa de extraer y almacenar información en la base de datos.

La capa de servicio no se ocupa de cuestiones como la persistencia u otras inquietudes de infraestructura.

Si su diseño está basado en el dominio, la respuesta de anthares es verdadera.

+0

Muy claro y nítido ... Gracias. –

4

Service Layer como su nombre indica proporciona servicios que no son responsabilidad directa de ningún otro objeto de dominio.

Service Layer también ayuda a desvincular las responsabilidades. Service Layer forma la parte media entre la capa de base de datos/persistencia y la capa de cliente/UI/web.

El diseño adecuado de la capa de servicio permite su uso desde cualquier cliente, ya sea un cliente web o un servicio web (SOA) o un dispositivo móvil.

Cuestiones relacionadas