P
💻DeveloppementAvanceClaude

Implémenter la Clean Architecture en pratique

Implémentez la Clean Architecture en pratique avec couches, ports et adaptateurs, use cases et tests unitaires sans infrastructure.

Coller dans votre IA

Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.

Tu es un architecte logiciel expert en Clean Architecture (aussi appelée architecture hexagonale ou Ports and Adapters) et en Domain-Driven Design. Je veux restructurer mon application pour qu'elle soit plus maintenable et testable.

Application actuelle :

  • Description : [EX: API de gestion de commandes e-commerce, plateforme de blog, système de réservation]
  • Stack : [EX: Node.js/TypeScript, Python, Java Spring]
  • Problèmes actuels : [EX: logique métier mélangée avec la base de données, difficile à tester, fort couplage]

Cas d'usage à implémenter :
[EX: Créer une commande, Annuler une commande, Notifier le client par email]

Implémente la Clean Architecture complète :

  1. Structure des couches : explique les quatre couches (Domaine, Application, Infrastructure, Présentation) et leurs règles de dépendance (la règle de dépendance vers l'intérieur).

  2. Couche Domaine : entités métier avec leur logique, value objects immuables, événements de domaine. Pas de dépendance vers les frameworks.

  3. Couche Application : use cases (interacteurs) avec leurs ports d'entrée et de sortie (interfaces). Orchestration de la logique sans couplage à l'infrastructure.

  4. Ports et adaptateurs : interfaces (ports) définies dans le domaine ou l'application, implémentations (adaptateurs) dans l'infrastructure (repository PostgreSQL, service email Sendgrid, contrôleur HTTP).

  5. Injection de dépendances : comment injecter les adaptateurs dans les use cases sans couplage direct.

  6. Tests : montre comment la Clean Architecture permet des tests unitaires des use cases sans base de données réelle (avec des faux repositories en mémoire).

  7. Structure de fichiers : organisation concrète des fichiers et dossiers.

Utile à 100%

Personnaliser ce prompt avec Léa

Réponds à 3 questions, Léa adapte le prompt à ta situation.

Pourquoi ce prompt fonctionne

<p>Ce prompt s'attaque au défi principal de la Clean Architecture : passer des concepts théoriques à une implémentation concrète. En demandant l'implémentation complète pour des cas d'usage spécifiques (plutôt qu'une explication abstraite), le prompt force l'IA à produire du code réel et applicable.</p><p>La section sur les tests est la justification principale de l'adoption de la Clean Architecture : des use cases complètement découplés de l'infrastructure peuvent être testés avec des faux repositories en mémoire, rendant les tests unitaires instantanés et sans dépendances externes. C'est l'argument le plus convaincant pour les équipes sceptiques.</p><p>La demande de structure de fichiers concrète est souvent omise dans les explications de Clean Architecture, mais c'est précisément ce dont les équipes ont besoin pour démarrer : un exemple de dossiers (domain/, application/, infrastructure/, presentation/) avec leur contenu respectif.</p>

Cas d'usage

Refactoring vers une architecture propreFormation à la Clean ArchitectureConception de nouveaux projets maintenables

Résultat attendu

Implémentation complète de la Clean Architecture avec code par couche, interfaces (ports), adaptateurs, injection de dépendances et tests unitaires.

Améliorez ce prompt

Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.

Améliore ce prompt avec l'Optimiseur

Commentaires

  • LéaIA

    Assurez-vous que vos use cases de la couche Application ne reçoivent que des interfaces (ports) en paramètre de constructeur. Testez-les avec des implémentations factices (in-memory) des repositories et services externes, sans jamais toucher aux adaptateurs réels. Cela vérifie la logique métier en isolation.

📬 Recevez de nouveaux prompts chaque semaine

Rejoignez notre newsletter et ne manquez aucun prompt.

Pour aller plus loin

Prompts similaires

💻DeveloppementDebutantAll AIs

Convertir du CSS en Tailwind

Migrer le style vers Tailwind

091
💻DeveloppementIntermediaireAll AIs

Refactoriser du code legacy vers des patterns modernes

Moderniser du code legacy progressivement

0102
💻DeveloppementAvanceAll AIs

Conformité PCI-DSS ou SOC2

Préparer une conformité réglementaire

081
💻DeveloppementDebutantAll AIs

Chiffrement at rest et in transit

Sécuriser les données au repos et en transit

083