Tôi đang làm việc trên một ứng dụng mà người dùng có thể theo dõi nhau, theo cách tương tự với Twitter.DDD: Các đối tượng kết nối là đối tượng thực thể hoặc đối tượng giá trị?
Sau khi đọc lên trên DDD, tôi hiểu rằng người dùng của tôi là đối tượng thực thể - tôi đề cập đến họ bằng ID duy nhất của họ.
Khi một người dùng 'theo dõi' người khác (tức là tạo thành một Kết nối), mối quan hệ được lưu trữ trong một bảng nhiều người. Các trường của nó bao gồm FollowerID
, TargetID
và Status
. Chỉ có thể có hai bản ghi cho mỗi kết hợp Follower/Target (một Active, một Other khác), vì vậy tôi có thể xác định một cách an toàn các đối tượng dựa trên các thuộc tính của chúng.
Vì vậy, tôi nghĩ rằng đối tượng kết nối của tôi là đối tượng giá trị, không phải đối tượng thực thể, nhưng tôi không chắc chắn. Bạn có thể giúp tôi với quyết định này không?
"Không chứa dữ liệu mà người dùng đang kết nối, kết nối không có danh tính" - Kết nối là duy nhất cho kết hợp FollowerID và TargetID. Vì vậy, nếu chúng tôi có một TaregtID và FollowerID mà tôi tin là người dùng, chúng tôi có thể xác định một kết nối. Vậy làm thế nào nó không phải là một đối tượng thực thể? –
@HariSubramaniam, một cách khác để đặt nó giống như [trang web này] (http://lostechies.com/joeocampo/2007/04/23/a-discussion-on-domain-driven-design-value-objects/) nói , "Một đối tượng giá trị không thể sống một mình mà không có một thực thể." Nó chắc chắn không phải lúc nào cũng dễ dàng để xác định cái nào, nhưng sau khi suy nghĩ về điều này và nghiên cứu nó, tôi đang nghiêng về phía nó là một đối tượng giá trị. – Matt