Ho fatto recentemente questa domanda: Uso di aggregazione e associazione
Ho accettato la risposta, tuttavia sono confuso dalla risposta alle risposte. Il rispondente parla dell'eliminazione dei record del database. Tuttavia, sto parlando del modello di dominio, non del database.
Supponiamo di avere una relazione molti a molti nel database come questa:
CREATE TABLE Person (ID int, name varchar(100), dateofbirth datetime, primary key (ID))
CREATE TABLE Sport (ID int, description varchar(30), primary key (ID))
CREATE TABLE PersonPlaysSport (Person ID int references Person(ID), SportID int references Sport(ID), PRIMARY KEY (SportID, PersonID))
Nella struttura del database di cui sopra una persona gioca molti sport.
Suppongo di creare due oggetti nel modello di dominio, uno per Persona e l'altro per lo Sport con una relazione nulla a molti, cioè Person.Sports esiste ma Sports.People non esiste.
Posso descrivere la relazione oggettuale tra Persona e Sport nel modello a oggetti come un composito in questo scenario piuttosto che in un'Associazione tenendo presente che un composito deve:
1) La persona possiede lo sport 2) Lo sport appartiene a una singola persona 3) Linea vita persone controlla la linea vita sportiva
Sono confuso riguardo al secondo punto. Il database mostra che uno sport può essere giocato da molte persone. Tuttavia, il modello a oggetti mostra che uno sport non viene giocato da nessuno (non esiste una collezione sportiva nella classe Person).
Posso rappresentare una relazione molti a molti come una relazione composita nel modello a oggetti?