Concepts
Deep dives into JD.Domain's architecture, design principles, and core concepts.
Architecture
- Architecture Overview - System design and package structure
- Design Principles - Core philosophy: opt-in, modular, deterministic
Core Concepts
- Domain Manifest - The central domain description model
- DSL Overview - Fluent DSL design philosophy
- Result Monad - Result
pattern for error handling
Rules & Validation
- Rule System - Rule types and evaluation engine
- Runtime Engine - How rules are evaluated
- Validation Errors - Error model and RFC 9457 ProblemDetails
Code Generation
- Source Generators - Generator architecture and extensibility
- Extensibility - Extension points and customization
Version Management
- Snapshot Format - Canonical JSON serialization
- Diff Algorithm - How changes are detected
- Breaking Changes - Change classification rules
Understanding the Concepts
These documents explain the "why" and "how" behind JD.Domain's design. They're ideal for:
- Architects evaluating JD.Domain for their projects
- Advanced users wanting deep understanding
- Contributors looking to extend or improve JD.Domain
See Also
- Getting Started - Quick introduction
- Tutorials - Step-by-step guides
- How-To Guides - Task-oriented documentation