Vedi la classe qui sotto:
public class Customer
{
private readonly IList<Order> _orders = new List<Order>();
public string FirstName { get; set; }
public string LastName { get; set; }
public string Province { get; set; }
public IEnumerable<Order> Orders { get { return _orders; } } //This line
internal void AddOrder(Order order)
{
_orders.Add(order);
}
}
Così com'è; una persona può avere solo un ordine a loro assegnato (c'è una buona ragione per questo così com'è - se la stessa persona crea un altro ordine allora viene creato un altro ordine). Tuttavia, questo potrebbe cambiare in futuro.
Mi è stato chiesto di recente perché utilizzo un elenco nel modello di dominio per rappresentare gli ordini. Ci sono due opzioni:
1) Usa un elenco sulla base del fatto che in futuro il piano è di avere una persona con più ordini.
2) Usa un oggetto per ora e modificalo in un elenco in futuro, se necessario.
Mi rendo conto che questo è un po 'pedante. Tuttavia, sto lavorando per un'organizzazione a cui piace usare il principio del minimo stupore. Quale opzione dovrei andare con; per quanto riguarda quanto sopra. C'è un principio in gioco qui?