ddd-tactical-patterns
コードに DDD 戦術パターンを適用する
ドメインルールをクリーンなコード構造に変換するのに苦労していますか?このスキルは、エンティティ、値オブジェクト、アグリゲート、リポジトリ、ドメインイベントを含む DDD 戦術パターンをガイドします。
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「ddd-tactical-patterns」を使用しています。 submit および cancel 操作を持つ Order アグリゲートをモデル化する
期待される結果:
private status フィールド、items 数を検証して単一遷移の不変条件を強制する submit() メソッド、および適切なガード条件を持つ cancel() メソッドを持つ Order クラス。OrderSubmitted および OrderCancelled のドメインイベント発行を含む。
「ddd-tactical-patterns」を使用しています。 Email アドレスの値オブジェクトを作成する
期待される結果:
コンストラクタ内の正規表現検証、値による等価比較、および toString() メソッドを備えた不変の Email クラス。無効な形式は構築時に拒否される。
セキュリティ監査
安全All 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.
品質スコア
作れるもの
貧弱なドメインモデルのリファクタリング
データのみのクラスを、ビジネスルールを強制する振る舞いに富んだドメインオブジェクトに変換します。
新しいアグリゲートの設計
適切なアグリゲート境界と不変条件の強制により、新しいドメインコードを構造化します。
ドメインイベントの実装
過去形のドメインイベントを使用して、アグリゲート間のイベント駆動通信を追加します。
これらのプロンプトを試す
Order アグリゲートをモデル化する必要があります。不変条件の特定、振る舞いメソッドを含むエンティティの設計、およびこのドメインに適した値オブジェクトの定義を支援してください。
通貨と金額を含む Money の不変値オブジェクトを作成してください。構築時の検証と値による等価性を含めてください。
ORM の実装詳細を漏らさずに、ドメインフレンドリーなクエリメソッドを公開する Order アグリゲートのリポジトリインターフェースを設計してください。
Order の状態遷移に対するドメインイベントの定義を支援してください。過去形の命名、最小限のペイロード、およびスキーマバージョニング戦略を含めてください。
ベストプラクティス
- まず不変条件を特定し、その後アグリゲート境界を設計する
- 値オブジェクトを不変に保ち、構築時に検証を行う
- ドメインイベントは過去形で命名し、最小限で安定したペイロードとする
回避
- トランザクション境界を侵害するクロスアグリゲート同期整合性ルール
- ドメイン層に ORM エンティティを漏らすこと
- ドメインオブジェクトではなくコントローラーにドメインビジネスロジックを含めること