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はバッキングリストクラスを拡張せず、Collectionインターフェイスさえ実装していないことを考えると(C#には同様のものがあると確信しています)。