Diciamo che ho una Car
lezione:
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 Car
classe, quindi creiamo una CarCollection
classe, 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 ClassCollection
altro Class
?
public class CarCollection
non 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.
CarColection
con una TotalTradeValue
proprietà su di esso. DDD non è l'unico modo per progettare sistemi, ma solo indicandolo come un'opzione.
CarCollection
piuttosto 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).