Допустим, у меня есть Car
класс:
public class Car
{
public string Engine { get; set; }
public string Seat { get; set; }
public string Tires { get; set; }
}
Допустим, мы создаем систему для парковки, я собираюсь использовать много Car
классов, поэтому мы создаем CarCollection
класс, который может иметь несколько дополнительных методов, таких как FindCarByModel
:
public class CarCollection
{
public List<Car> Cars { get; set; }
public Car FindCarByModel(string model)
{
// code here
return new Car();
}
}
Если я учусь на уроке ParkingLot
, что лучше?
Опция 1:
public class ParkingLot
{
public List<Car> Cars { get; set; }
//some other properties
}
Вариант № 2:
public class ParkingLot
{
public CarCollection Cars { get; set; }
//some other properties
}
Это даже хорошая практика для создания ClassCollection
другого Class
?
public class CarCollection
не реализует IList или ICollection и т. Д. ... поэтому вы не можете передать его в список, который подходит для списка. Он заявляет как часть своего имени, что это коллекция, но не реализует ни один из этих методов.
CarColection
с TotalTradeValue
собственностью на него. DDD - не единственный способ проектирования систем, просто указав его в качестве опции.
CarCollection
а неList<Car>
вокруг? Особенно учитывая, что CarCollection не расширяет класс Backing List и даже не реализует интерфейс Collection (я уверен, что в C # есть похожие вещи).