nw-domain-driven-design

Define and apply domain-driven design principles to manage domain complexity.

Updated Mar 18, 2024
One-click install
npx skills add https://github.com/v1bh0r/precise-ledger-pro --skill nw-domain-driven-design-v1bh0r
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nw-domain-driven-design
Source: https://github.com/v1bh0r/precise-ledger-pro/tree/main/nWave/skills/nw-domain-driven-design
Command: npx skills add https://github.com/v1bh0r/precise-ledger-pro --skill nw-domain-driven-design-v1bh0r

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

DDD helps teams tame domain complexity by aligning software models with business concepts through a shared language and bounded contexts.

Core Features & Use Cases

  • Bounded contexts discovery and mapping to contextual boundaries
  • Ubiquitous language development and governance across teams
  • Tactical and strategic DDD patterns for aggregates, events, and context maps
  • Context maps to understand inter-context relationships and integration
  • Decision frameworks for when to apply DDD based on complexity and domain volatility

Quick Start

Identify your domain subareas, define bounded contexts, and establish a shared ubiquitous language to begin applying DDD.

Frequently Asked Questions about nw-domain-driven-design

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

FAQPage Schema
What is domain-driven design and how does it manage domain complexity?

Domain-driven design manages domain complexity by aligning software models with business concepts through a shared ubiquitous language and defined bounded contexts to ensure strict contextual boundaries.

When should I apply domain-driven design patterns to my architecture?

Apply domain-driven design when domain complexity and volatility are high, using a decision framework to evaluate whether strategic and tactical DDD patterns like bounded contexts and aggregates fit your project.

How do I identify bounded contexts and create a context map?

Identify bounded contexts by discovering domain subareas and defining their contextual boundaries, then create a context map to understand inter-context relationships and guide integration across teams.

How do I design aggregates and domain events in tactical DDD?

Design aggregates and domain events in tactical DDD by enforcing ubiquitous language, establishing clear invariants, and applying disciplined modeling practices to guide end-to-end domain structure.

How do I establish a ubiquitous language across development teams?

Establish ubiquitous language by developing and governing a shared vocabulary across teams that strictly aligns software models with business concepts, ensuring consistent communication and contextual boundaries.

What is the difference between strategic and tactical domain-driven design?

Strategic domain-driven design focuses on bounded contexts and context mapping for structural boundaries, while tactical DDD handles internal modeling through aggregates, domain events, and clear invariants.