Diciamo che ho una Carlezione:
public class Car
{
public string Engine { get; set; }
public string Seat { get; set; }
public string Tires { get; set; }
}
Diciamo che stiamo creando un sistema per un parcheggio, userò molta della Carclasse, quindi creiamo una CarCollectionclasse, potrebbe avere alcuni metodi di aditionals come FindCarByModel:
public class CarCollection
{
public List<Car> Cars { get; set; }
public Car FindCarByModel(string model)
{
// code here
return new Car();
}
}
Se sto facendo una lezione ParkingLot, qual è la migliore pratica?
Opzione 1:
public class ParkingLot
{
public List<Car> Cars { get; set; }
//some other properties
}
Opzione 2:
public class ParkingLot
{
public CarCollection Cars { get; set; }
//some other properties
}
È anche una buona pratica creare un ClassCollectionaltro Class?
public class CarCollectionnon implementa IList o ICollection, ecc ... quindi non puoi passarlo a qualcosa che va bene con un elenco. Afferma come parte del suo nome che è una raccolta, ma non implementa nessuno di questi metodi.
CarColectioncon una TotalTradeValueproprietà su di esso. DDD non è l'unico modo per progettare sistemi, ma solo indicandolo come un'opzione.
CarCollectionpiuttosto che unList<Car>giro? Soprattutto dato che CarCollection non estende la classe Backing List, né implementa nemmeno l'interfaccia Collection (sono sicuro che C # abbia cose simili).