Mam problemy z agregatami i zagregowanymi źródłami. Mam naturalny korzeń kruszywa, który działa na około 60% żądań użytkownika. To znaczy. te wnioski w naturalny sposób odnoszą się do sumy głównej.Domain Driven Design - Aggregate Roots
W ramach mojego agregatu mam inny podmiot, który może istnieć tylko jako członek sumy głównej. Użytkownicy zostaną jednak poinformowani o tym innym obiekcie encji. Konieczne może się okazać, że użytkownicy będą operować bezpośrednio na tym niezagregowanym obiekcie głównym.
Tak, myślę, że mam kilka opcji:
- Mogą one być zarówno kruszywa korzenie w zależności od których działanie jest wymagane przez użytkownika.
- Wszystkie operacje muszą przechodzić przez główny agregator najwyższego poziomu.
Należy pamiętać, że główny root agregujący będzie przechowywać kolekcję tego innego obiektu.
Przykład:
główna kruszywo root: Car
Druga jednostka: krzesło (a Car posiada 2 lub 4 mandaty zależności od typu). W mojej domenie siedzenia mogą istnieć tylko jako część samochodu.
Większość operacji w domenie odbywa się na poziomie samochodu. To będzie dobry kandydat na agregat root. Jednak (i walczę o przykłady tutaj), niektóre operacje będą na poziomie miejsca, np. SpillCoffee, ChangeFabric, Clean ....
Czy Seat i Car mogą być korzeniami zbiorczymi? Czy powinienem zawsze zacząć od samochodu?
Dzięki