ddd-tactical-pattern-catalog

Catalog DDD tactical patterns to guide domain modeling and implementation decisions.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/kotarosan-dev/02_rd --skill ddd-tactical-pattern-catalog
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ddd-tactical-pattern-catalog
Source: https://github.com/kotarosan-dev/02_rd/tree/main/Books/2026/02/20260221_%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88%E5%85%A5%E9%96%80%20%E3%83%9C%E3%83%88%E3%83%A0%E3%82%A2%E3%83%83%E3%83%97%E3%81%A7%E3%82%82%E3%82%8F%E3%81%8B%E3%82%8B%EF%BC%81%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88%E3%81%AE%E5%9F%BA%E6%9C%AC
Command: npx skills add https://github.com/kotarosan-dev/02_rd --skill ddd-tactical-pattern-catalog

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

ドメイン設計の戦術的パターンがチーム内で共有されておらず、値オブジェクト、エンティティ、リポジトリ、集約などの適用判断や境界設計が曖昧で、結果として保守性やテスタビリティが低下する課題を解決します。設計判断を体系化し、段階的導入と実践的なチェックリストを提供することで、設計の一貫性と変更耐性を向上させます。

Core Features & Use Cases

  • パターンカタログ: 値オブジェクト、エンティティ、ドメインサービス、リポジトリ、アプリケーションサービス、ファクトリ、集約、仕様などの目的・特性・適用判断を整理。
  • 設計判断ガイド: 集約境界、トランザクション境界、依存関係の管理、テスタビリティ向上のための実践指針と注意点を提示。
  • 段階的導入プラン: 値オブジェクト導入→リポジトリ分離→サービス整理→集約設計のフェーズ別手順を提供し、既存コードベースへの安全な適用を支援。
  • ユースケース例: 既存レガシーからの段階的リファクタリング、ユニットテスト容易化のためのリポジトリ抽象化、スケーラブルな集約設計の判断など。

Quick Start

プロジェクトのドメイン概要を提示して、適用すべき戦術パターン(値オブジェクト、エンティティ、リポジトリ、集約、ドメインサービス)と設計上の判断基準を示してください。

Frequently Asked Questions about ddd-tactical-pattern-catalog

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design aggregate boundaries and transaction boundaries in domain-driven design?

Aggregate boundaries in domain-driven design are defined by grouping entities and value objects that must remain transactionally consistent, guided by design checklists for dependency management and testability.

When should I use a domain service versus an entity in DDD?

Use a domain service in DDD when business logic spans multiple aggregates or does not naturally belong to a single entity, while entities encapsulate behavior tied to their own lifecycle.

What is the best way to incrementally refactor a legacy codebase using DDD tactical patterns?

Incrementally refactor a legacy codebase by adopting DDD tactical patterns in phases: introduce value objects first, then separate repositories, organize services, and finally design aggregates.

How do I improve unit testability using repository abstraction in domain-driven design?

Improve unit testability in domain-driven design by abstracting repository interfaces, allowing domain logic tests to run in isolation without actual database dependencies.

Do I need to adopt all DDD tactical patterns at once for effective domain modeling?

No, you do not need all DDD tactical patterns at once, as phased adoption plans support introducing value objects, repositories, services, and aggregates gradually to safely migrate existing codebases.

What are the limitations of using specifications and aggregates in domain-driven design?

Limitations of using specifications and aggregates in DDD include potential boundary complexity and over-abstraction, so applying design checklists helps prevent unnecessary coupling and maintain testability.