Допустим, у меня есть 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 # есть похожие вещи).