Bir Car
sı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, Car
sınıfın çoğunu kullanacağım , bu yüzden bir CarCollection
sı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
}
ClassCollection
Başka bir tane oluşturmak bile iyi bir uygulama Class
mı?
public class CarCollection
IList 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.
CarColection
bir TotalTradeValue
özellik var. DDD, sistemleri tasarlamanın tek yolu değil, sadece bir seçenek olarak işaret ediyor.
CarCollection
ziyade 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).