Vamos dizer que eu tenho uma Car
aula:
public class Car
{
public string Engine { get; set; }
public string Seat { get; set; }
public string Tires { get; set; }
}
Digamos que estamos criando um sistema sobre um estacionamento, vou usar grande parte da Car
classe, então fazemos uma CarCollection
classe, pode haver alguns métodos adicionais, como FindCarByModel
:
public class CarCollection
{
public List<Car> Cars { get; set; }
public Car FindCarByModel(string model)
{
// code here
return new Car();
}
}
Se estou fazendo uma aula ParkingLot
, qual é a melhor prática?
Opção 1:
public class ParkingLot
{
public List<Car> Cars { get; set; }
//some other properties
}
Opção 2:
public class ParkingLot
{
public CarCollection Cars { get; set; }
//some other properties
}
É uma boa prática criar um ClassCollection
de outro Class
?
public class CarCollection
não implementa IList ou ICollection, etc ... assim você não pode passá-lo para algo que esteja bem com uma lista. Alega como parte de seu nome que é uma coleção, mas não implementa nenhum desses métodos.
CarColection
com uma TotalTradeValue
propriedade. O DDD não é a única maneira de projetar sistemas, apenas apontando como uma opção.
CarCollection
pouco ao invés de umList<Car>
redor? Especialmente porque o CarCollection não estende a classe Backing List nem implementa a interface Collection (tenho certeza que o C # tem coisas semelhantes).