Compétences architecture-patterns
📦

architecture-patterns

Sûr

Mettre en oeuvre des patterns d'architecture backend

Également disponible depuis: Barnhardt-Enterprises-Inc,AdamManuel-dev

Construire des systemes backend maintenables exige des patterns d'architecture eprouves. Cette competence vous aide a mettre en oeuvre Clean Architecture, Hexagonal Architecture et Domain-Driven Design pour creer des applications testables et evolutives avec une separation des preoccupations appropriee.

Prend en charge: Claude Codex Code(CC)
📊 71 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez Ă  utiliser

Tester

Utilisation de "architecture-patterns". Create a Clean Architecture structure for a user management system

Résultat attendu:

La competence genere une structure de repertoires complete avec domain/entities contenant l'entite User, domain/interfaces avec le port IUserRepository, use_cases contenant CreateUserUseCase et UpdateUserUseCase, adapters/repositories avec l'implementation PostgresUserRepository, et adapters/controllers avec UserController pour la gestion HTTP. Chaque composant demontre un flux de dependances correct et une separation des preoccupations.

Utilisation de "architecture-patterns". Implement a payment gateway adapter using hexagonal architecture

Résultat attendu:

La competence cree une interface PaymentGatewayPort definissant le contrat de la methode charge, puis implemente StripePaymentAdapter pour la production et MockPaymentAdapter pour les tests. Les deux adaptateurs implementent la meme interface de port, permettant un remplacement facile sans modifier la logique metier. L'exemple inclut la gestion des erreurs et des patterns async/await corrects.

Utilisation de "architecture-patterns". Design an Order aggregate with DDD patterns

Résultat attendu:

La competence conçoit une entite Order comme aggregate root avec les methodes add_item, calculate_total et submit encapsulant les regles metier. Elle inclut l'entite OrderItem, le value object Money pour la gestion des devises, l'enum OrderStatus pour la gestion d'etat, et des domain events comme OrderSubmittedEvent. L'aggregate fait respecter les invariants et maintient les frontieres de coherence.

Audit de sécurité

Sûr
v5 • 1/21/2026

All 43 static analysis findings are false positives from educational code examples in documentation. The skill teaches software architecture patterns through Python examples showing Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. No executable code, network access, or security vulnerabilities present.

2
Fichiers analysés
909
Lignes analysées
0
résultats
5
Total des audits
Aucun problème de sécurité trouvé

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
31
Communauté
100
Sécurité
91
Conformité aux spécifications

Ce que vous pouvez construire

Concevoir une nouvelle architecture de service backend

Planifier et implementer un nouveau microservice en appliquant les principes de Clean Architecture avec une separation des couches appropriee, l'injection de dependances et une logique metier testable.

Refactorer une application monolithique

Transformer une application monolithique fortement couplee en une architecture hexagonale bien structuree avec ports et adaptateurs pour des tests et une maintenance facilites.

Mettre en oeuvre des patterns Domain-Driven Design

Modeliser des domaines metier complexes avec les patterns tactiques DDD, dont aggregates, entites, value objects et domain events, pour un meilleur alignement sur le domaine.

Essayez ces prompts

Generer une structure Clean Architecture
Creer une structure de dossiers Clean Architecture pour un systeme de gestion des commandes e-commerce avec entites de domaine, use cases et adaptateurs.
Implementer un port et un adaptateur de repository
Implementer une interface de port de repository utilisateur et un adaptateur PostgreSQL suivant les principes d'architecture hexagonale avec acces base de donnees asynchrone.
Creer des entites de domaine avec logique metier
Concevoir un aggregate Order avec des entites de domaine, des value objects et des regles metier pour ajouter des elements, calculer les totaux et gerer les transitions d'etat.
Refactorer un controller vers le pattern use case
Refactorer cet endpoint FastAPI qui contient de la logique metier dans le controller en un use case approprie avec injection de dependances et separation des preoccupations.

Bonnes pratiques

  • Toujours diriger les dependances vers l'interieur des couches externes vers les couches internes, ne jamais laisser la couche domaine dependre de l'infrastructure
  • Utiliser des interfaces et des ports pour definir les contrats dans la couche domaine, implementer des adaptateurs dans les couches externes pour la testabilite
  • Garder la logique metier dans les entites de domaine et les use cases, les controllers ne doivent gerer que les preoccupations HTTP et deleguer aux use cases

Éviter

  • Placer la logique metier dans les controllers ou les gestionnaires d'API au lieu des use cases et des entites de domaine
  • Creer des modeles de domaine anemiques avec seulement des proprietes de donnees et aucun comportement, en mettant toute la logique dans des services
  • Coupler fortement la couche domaine a des frameworks, bases de donnees ou API externes specifiques sans interfaces d'abstraction

Foire aux questions

Quand dois-je utiliser Clean Architecture plutot que des patterns plus simples ?
Utilisez Clean Architecture pour une logique metier complexe avec plusieurs integrations et des besoins de maintenance a long terme. Les applications CRUD simples avec des workflows basiques peuvent ne pas beneficier des couches d'abstraction supplementaires. Considerez le compromis entre maintenabilite et simplicite selon la complexite de votre projet.
En quoi l'architecture hexagonale differe-t-elle de Clean Architecture ?
Les deux imposent l'inversion des dependances et la separation des preoccupations. Clean Architecture met l'accent sur des couches concentriques avec des regles de dependance strictes qui vont vers l'interieur. Hexagonal Architecture se concentre sur des ports et des adaptateurs ou le coeur de domaine est entoure d'adaptateurs interchangeables. Ce sont des approches complementaires souvent utilisees ensemble.
Quelle est la difference entre les entites et les value objects en DDD ?
Les entites ont une identite et un cycle de vie uniques, deux entites avec les memes attributs restent differentes si les IDs different. Les value objects sont definis par leurs attributs et sont immuables, deux value objects avec les memes attributs sont consideres egaux. Utilisez des entites pour ce qui change dans le temps, des value objects pour les caracteristiques descriptives.
Comment tester des use cases qui dependent de repositories et de services externes ?
Utilisez l'injection de dependances pour fournir des implementations mock des interfaces de repository et de service. Creez des test doubles qui implementent les memes interfaces de port mais renvoient des donnees controlees au lieu d'acceder a de vraies bases de donnees ou API. Cela permet de tester la logique metier en isolation sans dependances d'infrastructure.
Puis-je appliquer ces patterns a des bases de code existantes ou seulement a de nouveaux projets ?
Vous pouvez refactorer progressivement du code existant vers ces patterns. Commencez par un module ou une fonctionnalite, extrayez la logique metier dans des use cases, creez des interfaces de repository et implementez des adaptateurs. Une migration progressive est plus sure qu'une reecriture complete. Concentrez-vous d'abord sur les zones a forte evolution pour un benefice maximal.
Cette competence fonctionne-t-elle avec des frameworks autres que FastAPI et PostgreSQL ?
Les principes s'appliquent a tout framework ou base de donnees. Les exemples utilisent FastAPI et PostgreSQL pour la demonstration, mais les memes patterns fonctionnent avec Django, Flask, Express, MongoDB, MySQL ou d'autres technologies. L'essentiel est de garder le code specifique au framework dans des couches d'adaptateurs externes, separe de la logique metier.

Détails du développeur

Structure de fichiers

đź“„ SKILL.md