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.