web-dev-qa-db-fra.com

Quelle est la différence entre la couche application et la couche logique métier?

Quelle est la différence entre la couche application et la couche logique métier? Je comprends en quelque sorte que la couche métier fournit des services spécifiques à l'entreprise et que la couche application couple les services métier et fournit des services à l'utilisateur final (service Web, interface utilisateur, etc.). Ai-je raison?

56
miceuz

Cela semble à peu près correct.

Le couche métier implémente le modèle de domaine d'une manière neutre sur le plan de la technologie des limites. En d'autres termes, il ne dépend d'aucune technologie liée à l'interface utilisateur ou au service, comme les bibliothèques Web ou les API de fenêtrage. Vous devriez pouvoir consommer la couche métier à partir de n'importe quel type d'application - Web, client riche, service Web, etc.

couche application comble le fossé entre la couche métier et la technologie de frontière.

64
Mark Seemann

Résumer:

  • La couche d'application est constituée des éléments spécifiques à cette application. Cela contiendrait donc l'interface utilisateur, le traitement principal de l'interface utilisateur et toutes les liaisons entre l'application et votre couche de logique métier. Dans un monde parfait, cette couche ne contiendrait aucune logique du domaine métier.

  • La couche logique métier (BLL) contient une logique spécifique au domaine métier. De plus, si vous allez créer un BLL distinct, cette couche doit contenir une logique qui pourrait être utilisée par d'autres applications ainsi que celle-ci. Par exemple, un ensemble de services Web exposant une API bien définie. Cela dissocie le BLL de votre application et vous offre la possibilité de créer d'autres applications par-dessus à l'avenir.

20
Justin Ethier

en superposition classique dans Business Layer, nous avons:

-Règles commerciales -Sécurité -Enregistrement des activités des utilisateurs -Gestion des transactions ...

Besoin fonctionnel + Besoin non fonctionnel = Code d'entreprise

dans DDD, les exigences fonctionnelles comme les règles métier et la logique métier restent dans la couche domaine et les exigences non fonctionnelles comme la sécurité et la journalisation des activités utilisateur restent dans la couche application

2
mehdi ghadimi

Si je comprends bien, la couche métier est en charge des décisions commerciales AKA la logique impliquant les protocoles du client.

La couche application est un processus brut qui n'a rien à voir avec les décisions commerciales.

2
Javier Parra

Je pense que c'est une infrastructure. Selon l'application, il peut contenir la plomberie pour la configuration, le reporting, le shell UI, etc.

0
Big Endian