Domain-Driven Design (DDD) είναι μια προσέγγιση στο σχεδιασμό λογισμικού που εστιάζει στη μοντελοποίηση του λογισμικού ώστε να ταιριάζει στενά με το business domain — δίνοντας έμφαση στη συνεργασία με ειδικούς του domain, μια κοινή γλώσσα, και καλά καθορισμένα domain models και όρια. Είναι πολύτιμη για σύνθετα business domains.
Βασικές ιδέες του DDD
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
