web-dev-qa-db-fra.com

Logique métier vs couche service

J'ai lu cette réponse: https://softwareengineering.stackexchange.com/a/234254/173318 veuillez corriger ma compréhension.

Les règles commerciales se réfèrent à la liste des étapes de l'entreprise dans le monde réel (pas de codes).

La logique métier fait référence au processus de conversion des règles métier en codes et à ces tas/types de codes appelés "logique métier".

Et à quoi sert la couche de service? si je lis cette réponse, cela ne semble pas différent avec la logique métier https://stackoverflow.com/a/4817935/4190539

La couche de service est-elle un endroit où la logique métier et le référentiel se rencontrent?

9
Kakashi

"Couche de service" est un terme architectural. Il fait référence à une partie du système qui se trouve quelque part au milieu d'une architecture à plusieurs niveaux , en dessous de la couche d'interaction utilisateur mais au-dessus de la couche d'accès aux données.

La logique métier peut être implémentée dans la couche service, ce qui applique les règles métier .

Notez cependant qu'il existe des cas où la logique métier se retrouve dans d'autres couches. Par exemple, certaines règles métier sont appliquées dans la couche d'interaction utilisateur afin d'améliorer l'expérience utilisateur (par exemple, des validateurs écrits en Javascript pour que vous puissiez les vérifier sans aller-retour vers le serveur). Dans ce cas, la couche de service dupliquera généralement l'application.

D'autres règles métier ne peuvent être appliquées qu'au niveau de la couche de base de données, par exemple en cas de problèmes de concurrence (imaginez une application dans laquelle vous pouvez consulter un livre de bibliothèque) ou de performances (imaginez un programme qui calcule la commission annuelle d'un vendeur occupé, basée sur un structure tarifaire complexe).

11
John Wu