Come modellare e dividere correttamente la responsabilità del repository DDD

1

Ho un repository DDD per Employee entità. Il dipendente avrà alcune attrezzature prese in prestito dal suo datore di lavoro. Poiché ci saranno più record relativi ai dipendenti come rapporti di lavoro, rapporti sui salari e% entità di co_de potrebbero diventare enormi, sto pensando di escludere queste azioni di record correlate da Employee entità / repository.

Non sono sicuro, ma quando provo a modellare azioni in Employee entità ottengo qualcosa del genere:

  • getBorrowed Attrezzature s
  • ritorno Attrezzature
  • prendere in prestito Attrezzature
  • get WorkReport s
  • get WorkReport Dettagli
  • etc

E queste azioni nominano / annusano come un lavoro con un'altra entità e forse potrebbero essere separate in un altro repository. Penso che sia legato al concetto di composizione come è noto in OOP.

Domanda:

Qual è la corretta struttura dell'entità / repository per lavorare con i record correlati a un'entità particolare? Per esempio. per caso d'uso come "prendere tutte le attrezzature prese in prestito per un particolare impiegato"? O "restituire un equipaggiamento al datore di lavoro"?

Grazie.

    
posta Artegon 23.07.2018 - 08:39
fonte

1 risposta

1

Dovresti estrarre il prestito di attrezzature in un altro aggregato correlato, con lo stesso ID del Employee . Le ragioni alla base di questo sarebbe uno dei seguenti:

  1. Il prestito di attrezzature proviene da un altro contesto limitato che corrisponde ad un altro dominio / sottodominio del mondo reale. Forse un altro dipartimento è responsabile di questo?

  2. Esiste una bassa coesione tra le proprietà di base del dipendente e le apparecchiature che sta prendendo in prestito.

In entrambi i casi, vorrai sincronizzare un EmployeeBorroedEquipments con Employee in alcune situazioni. Ad esempio, quando un Employee smette di non essere più autorizzato a prendere in prestito attrezzature. Per questo è possibile utilizzare un gestore Saga / Process.

Lo stesso vale per i rapporti sul lavoro.

    
risposta data 23.07.2018 - 12:13
fonte

Leggi altre domande sui tag