ddd-tactical-patterns
Wende DDD-Tactical-Patterns auf deinen Code an
Schwierigkeiten, Domänenregeln in saubere Code-Strukturen zu übersetzen? Diese Fähigkeit leitet dich durch DDD-Tactical-Patterns einschließlich Entitäten, Value Objects, Aggregates, Repositories und Domänenereignisse.
Die Skill-ZIP herunterladen
In Claude hochladen
Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen
Einschalten und loslegen
Teste es
Verwendung von "ddd-tactical-patterns". Modelliere ein Order-Aggregate mit submit- und cancel-Operationen
Erwartetes Ergebnis:
Order-Klasse mit privatem status-Feld, submit()-Methode, die die items-Anzahl validiert und die Single-Transition-Invariante durchsetzt, und cancel()-Methode mit passenden Guard-Bedingungen. Beinhaltet Domänenereignis-Emission für OrderSubmitted und OrderCancelled.
Verwendung von "ddd-tactical-patterns". Erstelle ein Value Object für E-Mail-Adresse
Erwartetes Ergebnis:
Unveränderliche Email-Klasse mit Regex-Validierung im Konstruktor, Gleichheit durch Wertvergleich und toString()-Methode. Lehnt ungültige Formate zum Konstruktionszeitpunkt ab.
Sicherheitsaudit
SicherAll static analysis findings are false positives. The 'external_commands' detections were Markdown backticks around code examples (e.g., `OrderSubmitted`), not actual shell execution. The 'blocker' findings for weak cryptography and system reconnaissance were triggered by documentation text, not executable code. This is a safe educational skill containing only DDD pattern guidance and TypeScript examples.
Qualitätsbewertung
Was du bauen kannst
Anämische Domänenmodelle refaktorieren
Transformiere datenorientierte Klassen in verhaltensreiche Domänenobjekte, die Geschäftsregeln durchsetzen.
Neue Aggregates entwerfen
Strukturiere neuen Domänencode mit korrekten Aggregate-Grenzen und Invarianten-Durchsetzung.
Domänenereignisse implementieren
Füge ereignisgesteuerte Kommunikation zwischen Aggregates mittels Vergangenheitsform-Domänenereignissen hinzu.
Probiere diese Prompts
Ich muss ein Order-Aggregate modellieren. Hilf mir, die Invarianten zu identifizieren, die Entität mit Verhaltensmethoden zu entwerfen und passende Value Objects für diese Domäne zu definieren.
Erstelle ein unveränderliches Value Object für Money mit Währung und Betrag. Füge Validierung bei Konstruktion und Gleichheit nach Wert hinzu.
Entwirf eine Repository-Schnittstelle für das Order-Aggregate, die domänenfreundliche Abfragemethoden bereitstellt, ohne ORM-Implementierungsdetails offenzulegen.
Hilf mir, Domänenereignisse für Order-Zustandsübergänge zu definieren. Include Vergangenheitsform-Benennung, minimale Payloads und Schema-Versionierungsstrategie.
Bewährte Verfahren
- Invariants zuerst identifizieren, dann Aggregate-Grenzen entsprechend entwerfen
- Value Objects unveränderlich mit Validierung zum Konstruktionszeitpunkt halten
- Domänenereignisse in Vergangenheitsform mit minimalen, stabilen Payloads benennen
Vermeiden
- Cross-Aggregate synchrone Konsistenzregeln, die Transaktionsgrenzen verletzen
- ORM-Entitäten in die Domänenschicht lecken lassen
- Controller, die Domänengeschäftslogik enthalten, statt Domänenobjekte
Häufig gestellte Fragen
Wann sollte ich Aggregates gegenüber einfachen Entitäten verwenden?
Sollten Value Objects veränderlich sein?
Wie gehe ich mit Cross-Aggregate-Kommunikation um?
Was gehört in eine Repository-Schnittstelle?
Wie weiß ich, ob ich Domänenereignisse brauche?
Kann ich diese Fähigkeit für Microservices-Architektur verwenden?
Entwicklerdetails
Autor
sickn33Lizenz
MIT
Repository
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/ddd-tactical-patternsRef
main
Dateistruktur