2015-12-03 14 views
5

Jak powinienem uporządkować moich Aktorów w Akka trwałych (Eventourcing/CQRS)?Jak powinienem uporządkować Aktorów Persistence w trwałości Akka?

  • hierarchiczne
  • Parallel

mam te obiekty domeny w mojej aplikacji ecommerce

  • Użytkownik - Użytkownik może utworzyć konto
  • Store - Użytkownik może tworzyć przechowywać odnośniki
  • Produkt - użytkownik może dodawać produkty do swojego sklepu
  • Koszyk - Użytkownik może dodać dowolny produkt ze sklepów innych użytkowników do koszyka.

Moje pytanie brzmi: jak powinienem uporządkować moich aktorów? Jakie są zalety i wady wyboru jednego z nich, szczególnie w odniesieniu do modelu domeny e-commerce?

akka actor structure

Odpowiedz

3

myślę, że pytanie jest więcej o granice swoich agregatów.

W żadnym przypadku nie powinno być ŻADNEJ hierarchicznej struktury między agregatami. Agregaty powinny być od siebie niezależne. Brak relacji między rodzicami.

Zgodnie z opisem. Istnieje agregacja użytkowników, która może tworzyć sklepy i dodawać do niej produkty.

Sklep może stanowić oddzielną agregację zainicjowaną przez agregat użytkownika. Należy pamiętać, że fakt, że użytkownik może utworzyć sklep, nie oznacza, że ​​powinien on mieć relację rodzic/dziecko. Chodzi bardziej o kontrolę dostępu. Sklep jest tworzony przez użytkownika i tylko ten użytkownik ma prawo dodawać do niego produkty.

Produkt wydaje się być jednak jednostką wewnątrz agregatu Sklepu.

Twój czwarty przykład: "Koszyk - użytkownik może dodać dowolny produkt ze sklepów innych użytkowników do koszyka", ujawnia coś zupełnie innego. Masz dwóch rodzajów użytkowników. Użytkownicy, którzy tworzą sklepy i konsumenci danego sklepu i zarządzają nimi. Nie są one takie same i powinny być inaczej modelowane.

Spróbuj modelować domenę swojej firmy bez prób ponownego użycia obiektów tylko dlatego, że są podobne.

Powiązane problemy