Skip to main content

Menu

LEVEL 0
0/5 XP
HomeAboutTopicsPricingMy VaultStatsPractice TestsCertifications

Categories

🎓 Certifications
🤖 Artificial Intelligence
☁️ Cloud and Infrastructure
💾 Data and Databases
💼 Professional Skills
🎯 Programming and Development
🔒 Security and Networking
📚 Specialized Topics
CheatGrid
HomeAboutTopicsPricingMy VaultStatsPractice TestsCertifications
LVLEVEL 0
0/5 XP
GitHub
© 2026 CheatGrid™. All rights reserved.
Privacy PolicyTerms of UseAboutContact

Domain-Driven Design (DDD) Cheat Sheet

Domain-Driven Design (DDD) Cheat Sheet

Back to Software Engineering
Updated 2026-05-28
Next Topic: Event Sourcing Cheat Sheet

Domain-Driven Design is a software development methodology that tackles complexity by aligning software architecture with business domains through collaborative modeling. Introduced by Eric Evans in 2003, DDD provides both strategic patterns (bounded contexts, context mapping, ubiquitous language) for organizing large systems and tactical patterns (entities, aggregates, value objects, repositories) for implementing rich domain models. The core insight: complex business logic belongs in the domain layer, encapsulated within clearly defined boundaries that reflect how domain experts naturally think about and describe their work — making software not just functional, but maintainable and evolvable as business understanding deepens over time.

What This Cheat Sheet Covers

This topic spans 18 focused tables and 115 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.

Table 1: Strategic Design — Subdomain TypesTable 2: Strategic Design — Bounded ContextsTable 3: Context Mapping PatternsTable 4: Tactical Design — Domain Building BlocksTable 5: Layered ArchitectureTable 6: DDD-Compatible Architecture StylesTable 7: Application Services & OrchestrationTable 8: CQRS & Event Sourcing IntegrationTable 9: Aggregate Design — Invariants & ValidationTable 10: Domain Modeling PatternsTable 11: Bounded Context CommunicationTable 12: Supple Design PrinciplesTable 13: Domain Discovery & Collaborative ModelingTable 14: Core Domain DistillationTable 15: Refactoring Toward Deeper InsightTable 16: DDD Testing StrategiesTable 17: DDD With MicroservicesTable 18: Common DDD Pitfalls

Table 1: Strategic Design — Subdomain Types

Every system contains multiple subdomains; the strategic challenge is classifying each correctly so you invest effort where it creates the most competitive value.

TypeExampleDescription
Core Subdomain
Netflix: recommendation algorithm
Amazon: fulfillment & logistics
• Where competitive advantage lives — requires best developers and custom solutions
• uniqueness defines business success
• never outsource
Supporting Subdomain
E-commerce: inventory management
Bank: report generation
• Necessary for business but not differentiating — can be built in-house with simpler approaches
• does not require full DDD complexity

More in Software Engineering

  • Distributed Systems Core Concepts Cheat Sheet
  • Event Sourcing Cheat Sheet
  • _Dependency_Injection_Patterns
  • Database Migration Strategies for Development Teams Cheat Sheet
  • Modular Monolith Architecture Cheat Sheet
  • Software Engineering Cheat Sheet
View all 47 topics in Software Engineering