2015-12-03 17 views
5

Come dovrei strutturare i miei attori in Akka persistente (Eventsourcing/CQRS)?Come dovrei strutturare i Persistence Actors nella persistenza di Akka?

  • gerarchica
  • parallelo

Ho questi oggetti di dominio nella mia richiesta e-commerce

  • utente - L'utente può creare conto
  • Store - L'utente può creare negozio
  • Prodotto: l'utente può aggiungere prodotti al suo negozio
  • Carrello: un utente può aggiungere qualsiasi prodotto dagli altri negozi dell'utente nel carrello.

Quindi la mia domanda è come dovrei strutturare i miei attori? Quali sono i vantaggi e gli svantaggi della scelta di uno rispetto a un modello di dominio e-commerce in particolare?

akka actor structure

risposta

3

Penso che la tua domanda è più circa i confini della vostra aggregati.

In ogni caso, non ci deve essere una struttura gerarchica tra gli aggregati. Gli aggregati dovrebbero essere indipendenti l'uno dall'altro. Nessuna relazione genitore/figlio.

In base alla descrizione. C'è un aggregato utente che può creare negozi e aggiungere prodotti ad esso.

Store può essere un aggregato separato avviato dall'aggregato Utente. Si noti che il fatto che un utente possa creare un negozio non significa che dovrebbero avere una relazione genitore/figlio. Si tratta più del controllo degli accessi. Un negozio è creato da un utente e solo questo utente ha il diritto di aggiungere prodotti ad esso.

Tuttavia, il prodotto sembra essere un'entità all'interno dell'aggregazione Store.

Il quarto esempio, "Carrello - Un utente può aggiungere qualsiasi prodotto da altri negozi utente nel carrello", rivela qualcosa di completamente diverso. Hai due tipi di utenti. Utenti che creano e gestiscono negozi e consumatori di un determinato negozio. Non sono la stessa cosa e dovrebbero essere modellati diversamente.

Provare a modellare il dominio della propria attività senza tentare di riutilizzare gli oggetti solo perché sono simili.