Domain-Driven Design (DDD) là một cách tiếp cận thiết kế phần mềm tập trung vào việc mô hình hóa phần mềm để khớp chặt chẽ với domain nghiệp vụ — nhấn mạnh sự cộng tác với các chuyên gia domain, một ngôn ngữ chung, và các domain model cùng ranh giới được định nghĩa rõ. Nó giá trị cho các domain nghiệp vụ phức tạp.
Các ý tưởng cốt lõi của DDD
DDD đặt trọng tâm thiết kế vào DOMAIN NGHIỆP VỤ (vấn đề thực tế):
✓ UBIQUITOUS LANGUAGE → một vốn từ vựng chung, chính xác giữa lập trình viên và các CHUYÊN GIA
domain, được dùng nhất quán trong code VÀ trò chuyện (giảm hiểu lầm)
✓ MÔ HÌNH HÓA domain → các domain model phong phú phản ánh các khái niệm/quy tắc nghiệp vụ thực
(không chỉ cấu trúc dữ liệu) — model nắm bắt logic nghiệp vụ
✓ cộng tác với các CHUYÊN GIA domain → hiểu sâu domain để mô hình hóa nó tốt
