Question

Ai-je raison de penser que le but d'une couche de service comprend les éléments suivants?

  • amincissement des modèles de domaine (par exemple le mouvement de certaines fonctions comme dans la mise en cache, instanciation)
  • réduction des dépendances des modèles de domaine
  • minimisation API
Était-ce utile?

La solution

En ce qui concerne la conception pilotée par le domaine par exemple la couche de service de domaine est utilisé pour les opérations qui ne peuvent pas être définies dans le contexte des objets que vous domaine. Par exemple, si vous avez un CreditCard objet, une opération appropriée dans votre couche de service serait une nouvelle carte de crédit.

En application plus on utilise le modèle Anemic Modèles de domaine, où les objets de domaine ne sont utilisés que comme des conteneurs de données et toute la logique métier est dans votre couche de service de domaine (ce qui est parfois refered comme anti-modèle, mais peut être très utile en grande solution, avec addition d'une autre couche d'abstraction).

Dans les architectures et modèles de solution différence, couche de service peut avoir un but de différence, cependant.

Autres conseils

Traditionnellement (quand ne pas utiliser Domain Driven Design) la couche de service, ou « couche métier » comme on l'appelle aussi, est l'endroit où vous codez toute la logique métier pour votre application. Ainsi, par exemple dans une application qui traite de donner des prêts bancaires, la couche de service est où le code va qui décide si oui ou non un certain prêt doit être donné. De toute évidence, la couche de service nécessiterait des informations sur le demandeur du prêt à être en mesure de prendre une décision sur sa crédibilité. Pour récupérer ces informations, la couche métier appelle la couche « données » ou « dépôt », qui traite de l'extraction et le stockage des informations dans la base de données.

La couche de service ne traite pas des questions comme la persistance ou d'autres problèmes d'infrastructure.

Si votre conception est domaine conduite, la réponse de Anthares est vrai.

couche de service comme son nom l'indique fournit des services qui ne sont pas directement la responsabilité de tout autre objet de domaine.

couche de service contribue également à découplage des responsabilités. La couche de service constitue la partie intermédiaire entre la base de données / couche de persistance et le Client / UI / couche Web.

concevoir correctement la couche de service lui permet d'être utilisé à partir de tout client que ce soit un client Web ou un service Web (SOA) ou un appareil mobile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top