Sadece veri kapları olan nesnelerin yazılmasını önlemek için bazı önerilerde bulunmak istiyorum. nasıl agrega kökleri çalışmalarını yöneten pinciples VerilenDDD - Toplu Kökler ve Davranışsal Nesneler Oluşturma
public class Post : IAggregateRoot
{
List<Comment> Comments {get; set;}
}
, böyle yukarıdaki kodu çağıracak geçerlidir:
aşağıdaki Agrega Root düşünün?
new Post().Comments.Add(New Comment("stuff"));
Yoksa bu doğru mu? Böyle
public class Post : IAggregateRoot
{
List<Comment> Comments {get; private set;}
public void AddComment(string message)
{
Comments.Add(new Comment(message));
}
}
Ve seslendi:
new Post().AddComment("stuff");
bu mu Eric Evan Agrega Kökler atomik kalarak ne anlama geldiğini?
Böyle bir durum söz konusu olduğunda, bu varlıklar herhangi bir genel belirleyici içermiyor, bunun yerine destekleyici yöntemlere (AddThis, RemoveThat) sahip olmak anlamına mı geliyor? Zengin davranışa sahip nesneler nasıl yaratıyorsunuz?
Nihayet geri kendisi dönerek bu yöntemle zincirleme yöntemi yapabilir 'Post' ve 'Comments' kümelerini bir araya getirmek için geçerli bir nedeniniz olmadıkça ikisi de yanlıştır. Büyük kümelenme kümenizle birlikte hangi ticari geliştiricileri korumaya çalışıyorsunuz? Eğer değilse, 'Yorum' kendi toplam kökünü oluşturmalıdır. – plalx