Aggregazione rapporto tra cliente e persona / Organizzazione
-
27-09-2019 - |
Domanda
Ho un Client oggetto che sia un persona oggetto o Organizzazione oggetto in esso. Questi Persona oggetti o Organizzazione oggetti potrebbero avere relazioni con altri oggetti indipendenti del Client oggetto. In questo caso devo usare un'associazione generale aggregazione fra Client -> Person
e Client -> Organization
dove il Client oggetto è il tutto.
Si noti inoltre questi scenari:
- persona potrebbe essere una normale persona in alcuni scenari, come; persona effettua il pagamento per conto di Client (* Organizzazione *)
- persona potrebbe essere un Client , che ha acquistato un prodotto da noi.
- persona potrebbe essere un Fornitore
Soluzione
Anche se davvero non ha fornito sufficienti informazioni, sembra che tu stai descrivendo un tipico Role Class Modello .
Ho il sospetto che il suo cliente non ha davvero sono Una persona o un'organizzazione, ma piuttosto che persona o un ente di un client, o IOW, sia una Persona o un'organizzazione può svolgere un ruolo di un cliente in una certa relazione.
Ci sono vari modi per modellare questo, e nessuna singola soluzione corretta. Si potrebbe trovare questo articolo utile
Altri suggerimenti
non dimenticate un vincolo XOR tra i due associazioni (dal momento che un client non può essere collegato sia una persona e un'organizzazione)