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?
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.
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.
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
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.
Je pense que c'est une infrastructure. Selon l'application, il peut contenir la plomberie pour la configuration, le reporting, le shell UI, etc.