Büyüklükleri ve Deposu.

1 Cevap php

Geçenlerde istemci kod ilgilidir halının altına kalıcılığı tüm ayrıntıları fırçalama bir yolu olarak Repository Pattern bakarak edilmiştir. Çevresinde okuma Deposu olduğunu görünürken / [genellikle?] Olabilir agrega yerine sadece düz ileri sınıflar için sorumlu.

Eğer Posts ve başka tanımlayan tanımlayan bir sınıf olabileceği gibi benim için bu mantıklı Comments. Bu çok yakından ilişkili iki yana bir agrega için ideal bir aday yapar. Ancak, nasıl bir Users sınıfı ve onun ya da onunla olan ilişkisini temsil edecek Posts?

O Posts/Comments agrega ile agrega Kullanıcılar mantıklı, ya da kendisi tarafından Users tutmak ve sadece iyi bir eski moda referans aracılığıyla bir ilişki var mıydı?

Google'ı kullanarak cevap için kendimi arıyorum denedim, ama ben buluyorum örneklerinden bir sürü sadece stand-alone edilir. yani, Posts/Comment ya da belki Order ve OrderLine vb diğer ilişkili sınıfların birbirine nasıl gösterir bir şey bulamıyorum.

PHP veya Java / C # muhtemelen ben bu fikirleri kullanarak olmazdı alanı olacaktır ama ben özel bir şey için bu uygulamadan değilim. Her durumda ben sadece keşfetmek ve kaçtım ve bir canavar yaratmak önce bu fikirlerin ve kavramların bazı etrafında başımı almak için çalışıyorum. :)

Zaman ayırdığınız için teşekkür ederiz.

1 Cevap

Repository Pattern oldukça gevşek tanımlanmış ve mutlaka Agrega Desen herhangi bir ilişkisi yoktur. Bir şeyler yapmanın DDD yolu abone Ancak, o zaman evet, depoları agrega özeldir.

Yani bakış DDD açısından bu bir göz atalım. DDD, bir agrega içindeki nesnelerin, başka bir toplama köküne bir başvuru var olduğunu söylüyor, ama bir bütün içindeki nesneleri yalnızca kökü yoluyla ulaşılabilir. Büyüklüklerin tespiti için başparmak kuralı kök silerken silinir gereken budur. Ancak, DDD, bir ilişki, bir etki var, sırf bu yüzden sadece akılda tutmak, etki modeliniz var gerekmez söyleyerek daha çok metodolojileri den ilişkilerin kullanımını teşvik etmemektedir.

Bir mesajı silmek zaman durumunda, ben yazı ya da yorumladı kullanıcılara oluşturulan kullanıcı değil de yorum silmek olacağını varsayabiliriz, ama. Bu nedenle, post / comment agrega tanımlamada doğru, ancak bu büyüklüğün içine grup kullanıcıların mantıklı olmaz.

Mesaj agrega kök çünkü kullanıcılar kendi agrega olmak, onların tüm mesajların bir ilişki içerebilir. Ayrıca, bu belirli bir kullanıcı tarafından mesajların tümünü almak için PostRepository bir yöntemi uygulamak. Umarım ki olur!