Ayo bilang aku ada Carkelas:
public class Car
{
public string Engine { get; set; }
public string Seat { get; set; }
public string Tires { get; set; }
}
Katakanlah kita membuat sistem tentang tempat parkir, saya akan menggunakan banyak Carkelas, jadi kami membuat CarCollectionkelas, mungkin ada beberapa metode tambahan seperti FindCarByModel:
public class CarCollection
{
public List<Car> Cars { get; set; }
public Car FindCarByModel(string model)
{
// code here
return new Car();
}
}
Jika saya membuat kelas ParkingLot, apa praktik terbaik?
Pilihan 1:
public class ParkingLot
{
public List<Car> Cars { get; set; }
//some other properties
}
Pilihan 2:
public class ParkingLot
{
public CarCollection Cars { get; set; }
//some other properties
}
Apakah ini merupakan praktik yang baik untuk menciptakan yang ClassCollectionlain Class?
public class CarCollectiontidak menerapkan IList atau ICollection, dll ... sehingga Anda tidak dapat meneruskannya ke sesuatu yang ok dengan daftar. Ia mengklaim sebagai bagian dari namanya bahwa itu adalah koleksi, tetapi tidak menerapkan metode-metode tersebut.
CarColectiondengan TotalTradeValueproperti di atasnya. DDD bukan satu-satunya cara untuk merancang sistem, hanya menunjukkannya sebagai opsi.
CarCollectiondaripadaList<Car>sekitar? Terutama mengingat bahwa CarCollection tidak memperpanjang kelas Daftar backing, atau bahkan mengimplementasikan antarmuka Koleksi (saya yakin bahwa C # memiliki hal serupa).