Tôi đang học DDD và tôi có nhiều câu hỏi hơn câu trả lời.
Chúng ta hãy xem xét một mô hình của một thư mục chứa số lượng lớn các tập tin.
Đây là cách tôi nhìn thấy nó:
Thư mục là một gốc tổng hợp.
Thực thể này phải có logic xác thực kiểm tra tính duy nhất của tên tệp khi nó được thêm hoặc chỉ đổi tên. Và thực thể Tệp chứa logic 'SetName', thông báo Thư mục qua Sự kiện Miền về các thay đổi tên.
Nhưng thư mục nên hoạt động như thế nào?
Không phải lúc nào cũng có thể tải tất cả các tệp vào bộ nhớ. Trong trường hợp này, kho lưu trữ Tệp có logic adhoc để kiểm tra tính duy nhất của tên không? Tôi cho rằng đó là một quyết định khả thi.
Tuy nhiên, điều gì sẽ xảy ra nếu một số tệp đã được thêm hoặc đổi tên mà không có giao dịch hiện tại chưa được cam kết? (không có gì ngăn cấm điều đó. Ranh giới giao dịch được đặt bên ngoài liên quan đến logic kinh doanh). Có lẽ kho lưu trữ nên tính đến cả trạng thái trong bộ nhớ và trạng thái bền vững (hợp nhất các trạng thái này có thể là nhiệm vụ không cần thiết.)
Vì vậy, khi tổng hợp gốc với tất cả các con của nó phù hợp với bộ nhớ - mọi thứ đều ổn. Và ngay khi bạn không thể cụ thể hóa tất cả các thực thể, có những rắc rối.
Tôi muốn biết các phương pháp tiếp cận cho các tình huống như vậy là gì. Có thể không có vấn đề gì cả và đó chỉ là do sự hiểu lầm của tôi về chủ đề này.