Tôi đang cố gắng theo dõi DDD, hoặc ít nhất là sự hiểu biết hạn chế của tôi về nó.DDD: Mọi thứ có vừa với Entity hoặc Value Object không?
Tôi đang gặp sự cố khi lắp một vài thứ vào hộp DDD.
Ví dụ: Tôi có Pháp nhân người dùng. Entity người dùng này có một tham chiếu đến một đối tượng UserPreferencesInfo - đây chỉ là một lớp có chứa một loạt các thuộc tính liên quan đến các tùy chọn của người dùng. Các thuộc tính này khá không liên quan, khác với thực tế là chúng đều là sở thích của người dùng (không giống như nói một địa chỉ VO, nơi tất cả các thuộc tính tạo thành một toàn bộ có ý nghĩa).
Câu hỏi là - đối tượng UserPreferencesInfo này là gì?
1) Rõ ràng nó không phải là một thực thể (Tôi chỉ lưu trữ nó là 'thành phần' trong speak nhibernate thạo (ví dụ: trong cùng một bảng DB là đơn vị thành viên).
2) VO? Tôi hiểu rằng Value Object được coi là Không thể thay đổi (vì vậy bạn không thể cange chúng, chỉ cần mới chúng lên). Điều này làm cho cảm giác hoàn toàn khi đối tượng là một địa chỉ ví dụ (các thuộc tính địa chỉ tạo thành một 'toàn bộ' có ý nghĩa). Nhưng trong trường hợp UserPreferencesInfo tôi không nghĩ rằng nó có ý nghĩa.
Có thể có 100 thuộc tính
(Thực tế) Có thể có 20 thuộc tính trên đối tượng này - tại sao tôi muốn loại bỏ một đối tượng tái tạo bất cứ khi nào tôi cần thay đổi một thuộc tính?
Tôi cảm thấy như tôi cần phải phá vỡ các quy tắc ở đây để có được những gì tôi cần, nhưng tôi không thực sự thích ý tưởng đó (đó là một dốc trơn!). Am i thiếu cái gì ở đây?
Cảm ơn
Cảm ơn câu trả lời - chỉ để làm rõ, vì hiện tại nó được thiết lập UserPreferenceInfo không có ID, vậy nên đó là lý do tại sao với tôi nó có vẻ giống VO hơn. Nhưng vẫn có sự phù hợp không tốt với bất biến. – UpTheCreek
Theo hiểu biết của tôi, ID là không cần thiết để xem xét một thực thể lớp, vì bạn có thể sử dụng các phương tiện khác để thực thi nhận dạng của nó - ví dụ: tham chiếu đến tổng hợp gốc ('Người dùng') nếu có một cá thể đơn lẻ cho một gốc hoặc đơn giản là tránh so sánh bình đẳng trong logic nghiệp vụ. IOW, danh tính là một logic, không phải khái niệm cấu trúc. –