Kullanıcıların birbirlerini Twitter'da benzer şekilde takip edebilecekleri bir uygulama üzerinde çalışıyorum.DDD: Bağlantı nesneleri Varlık Nesnesi veya Değer Nesnesidir?
DDD'yi okuduktan sonra, kullanıcılarımın Varlık Nesneleri olduğunu anlıyorum - benzersiz kimliklerini kullanarak onlara başvuruyorum.
Bir kullanıcı diğerini izlerse (yani bir Bağlantı oluşturursa), ilişki çoktan çoğa bir tabloda saklanır. Alanları FollowerID
, TargetID
ve Status
içerir. Her bir Takipçi/Hedef kombinasyonu için (biri Aktif, diğeri Aktif değil) sadece iki kayıt olabilir, böylece özniteliklerine göre nesneleri güvenli bir şekilde tanımlayabilirim.
Yani, Bağlantı nesnelerim Varlık Nesneleri değil, Değer Nesneleri olduğunu düşünüyorum, ancak emin değilim. Bu kararda bana yardımcı olabilir misiniz?
"Hangi kullanıcıların bağlandığı verileri içermiyorsa, bir bağlantının kimliği yoktur" - Bağlantı, FollowerID ve TargetID'nin bir bileşimi için benzersizdir. Yani, kullanıcılara inandığım bir TaregtID ve FollowerID varsa, bir bağlantıyı belirleyebiliriz. Peki bir varlık nesnesi nasıl? –
@HariSubramaniam, başka bir şekilde koyduğu gibi [bu site] (http://lostechies.com/joeocampo/2007/04/23/a-discussion-on-domain-driven-design-value-objects/) diyor ki , "Bir Değer Nesnesi bir Varlık olmadan kendi başına yaşayamaz." Hangisinin hangisinin olduğunu belirlemek her zaman kolay değildir, ancak bunu düşündükten ve araştırdıktan sonra, ona değer bir nesne olmak için yoğun bir şekilde eğimliyim. – Matt