Quale dei seguenti due modelli ha più senso? Mi sto appoggiando al primo perché può esserci solo un figlio predefinito.
Gli esempi sono in C # ma penso che possa essere applicato anche ad altre lingue.
Qui DefaultChild
contiene uno degli elementi in Children
.
class Parent
{
int ID { get; set; }
Child DefaultChild { get; set; }
IEnumerable<Child> Children { get; set; }
}
class Child
{
int ID { get; set; }
}
Qui uno degli elementi in Children
ha Default
impostato su true
mentre gli altri hanno impostato su false
.
class Parent
{
int ID { get; set; }
IEnumerable<Child> Children { get; set; }
}
class Child
{
int ID { get; set; }
bool Default { get; set; }
}
Una situazione concreta: un User
nel nostro sistema ha uno o più Customer
s allegati. Al momento dell'accesso, se detto User
ha un Customer
predefinito, funzionano immediatamente con questo Customer
. Se non lo fanno, devono selezionare un Customer
per lavorare sotto. Durante l'accesso, possono passare da Customer
s.