Le découpage des responsabilités entre les couches vise à séparer les préoccupations et à maintenir une architecture modulaire et cohérente.
se concentre sur la présentation des informations et l'interaction avec les utilisateurs. Elle envoie les requêtes à la couche Application et affiche les résultats de manière appropriée.
coordonne les actions entre les couches Interface utilisateur, Domaine et Infrastructure. Elle traite les requêtes, applique les règles métier, et utilise les services de la couche Infrastructure pour réaliser les opérations nécessaires.
contient la logique métier et les règles du domaine. Elle est indépendante des détails techniques et ne doit pas dépendre des autres couches. Elle encapsule les concepts métier et définit les invariants qui garantissent la cohérence des données et la validité des opérations.
fournit les services techniques nécessaires au fonctionnement du système. Elle gère les aspects de persistance des données, de communication avec d'autres systèmes, d'accès aux ressources externes, etc. Elle permet aux autres couches de se concentrer sur leurs responsabilités métier sans se soucier des détails d'implémentation technique.