Domain-Driven Design (DDD), yazılımı iş alanına (business domain) yakından modellemek üzerine odaklanan, alan uzmanları ile işbirliğini, paylaşılan bir dili ve iyi tanımlanmış alan modellerini ve sınırlarını vurgulayan bir yazılım tasarım yaklaşımıdır. Karmaşık iş alanları için değerlidir.
DDD'nin temel fikirleri
DDD centers the design on the BUSINESS DOMAIN (the real-world problem):
✓ UBIQUITOUS LANGUAGE → a shared, precise vocabulary between developers and domain
EXPERTS, used consistently in code AND conversation (reduces miscommunication)
✓ MODEL the domain → rich domain models reflecting real business concepts/rules (not
just data structures) — the model captures the business logic
✓ collaborate with domain EXPERTS → deeply understand the domain to model it well
