Bir Carsınıfım olduğunu söyleyelim:
public class Car
{
public string Engine { get; set; }
public string Seat { get; set; }
public string Tires { get; set; }
}
Diyelim ki bir park yeri hakkında bir sistem yapıyoruz, Carsınıfın çoğunu kullanacağım , bu yüzden bir CarCollectionsınıf yapıyoruz , bunun gibi birkaç ekosistem yöntemi olabilir FindCarByModel:
public class CarCollection
{
public List<Car> Cars { get; set; }
public Car FindCarByModel(string model)
{
// code here
return new Car();
}
}
Bir sınıf yapıyorum ParkingLot, en iyi uygulama nedir?
Seçenek 1:
public class ParkingLot
{
public List<Car> Cars { get; set; }
//some other properties
}
Seçenek 2:
public class ParkingLot
{
public CarCollection Cars { get; set; }
//some other properties
}
ClassCollectionBaşka bir tane oluşturmak bile iyi bir uygulama Classmı?
public class CarCollectionIList veya ICollection vb. Uygulamıyor ... böylece bir liste ile iyi olan birşeye geçemezsiniz. Adının bir parçası olduğunu bir koleksiyon olduğunu iddia eder, ancak bu yöntemlerden hiçbirini uygulamaz.
CarColectionbir TotalTradeValueözellik var. DDD, sistemleri tasarlamanın tek yolu değil, sadece bir seçenek olarak işaret ediyor.
CarCollectionziyade geçmenin nasıl bir yararı olduğunu düşünüyorsunList<Car>? Özellikle CarCollection'ın destek Listesini genişletmediği, hatta Koleksiyon arayüzünü uygulamadığı göz önüne alındığında (C # 'nın benzer şeylere sahip olduğundan eminim).