DDD core concepts

Do các khái niệm này còn khá lạ lẫm, nếu đọc vào tài liệu ngay sẽ rất mông lung nên mình liệt kê ra các thuật ngữ cơ bản chia theo các nhóm để mọi người cò dàn ý tìm hiểu theo cho dễ.

Trước khi nói về các thuật ngữ trong DDD, cần nhắc lại một chút về pattern. Pattern là một “giải pháp chung cho một vấn đề nào đó thường lặp đi lặp lại nhiều lần”, ví dụ để giải quyết vấn đề là laptop của mình sử dụng nguồn điện có hiệu điện thế 12V, trong khi các ổ điện trong nhà đều ở mức 220V, mình sử dụng pattern adapter để chuyển đổi nguồn điện, pattern này được implement cho nhiều laptop khác nhau, nhưng đều có chung giải pháp là sử dụng máy biến thế. Như vậy khi nói đến pattern, cần quan tâm đến “vấn đề” và “giải pháp”, nhưng cần nói rõ giải pháp là định hướng cách giải quyết, không phải là một thực thi cụ thể.

DDD có thể coi là một cách tiếp cận vấn đề, hơn là giải pháp hay nhóm các giải pháp. Ta có thể bắt gặp một vài pattern thường dùng, nhưng không có nghĩa là cứ implement các pattern đó là làm DDD.

Các thuật ngữ về process

Các thuật ngữ về mô hình

Các khái niệm này là ánh xạ các đối tượng thực tế để đưa vào code

Sự liên minh giữa các đối tượng

Như đã bàn ở trên, cách ta nhìn nhận vấn đề sẽ giúp chia các đối tượng thành nhiều nhóm có liên hệ mật thiết với nhau trong hoạt động thường ngày của chúng. Từ đó chúng ta có khái niệm aggregate và aggregate root.

Lưu trữ các đối tượng