指定されたプロパティを持つドメインオブジェクト内のコレクションからオブジェクトを取得するためのベストプラクティスは何ですか?ドメインモデルからコレクション内のアイテムを取得するためのベストプラクティスは何ですか?
たとえば、私たちは車の保険の2つのクラスを持つ自動車保険アプリケーションを持っています。特定のVINを持つPersonからCarを取得する必要がある場合は、その方法を実装する最善の方法は何ですか?私は以下のいくつかの例を提供してきました - 他の人が
例1
はVINプロセスは次のようになり、アプリケーションからそう
public class Person
{
private HashSet<Car> cars = new HashSet<Car>();
public Set<Car> getCars()
{
return this.cars;
}
public Car getCarByVin(VIN vin)
{
//loop over cars and retrieve the car with the VIN
}
}
に取得するために、Personエンティティ内に新しいメソッドを追加します歓迎されています。 ..
VIN vin = new VIN(...);
Person person = personDao.getPerson();
Car personCar = person.getCarByVin(vin);
例2
新しいリストCを作成します。だから、アプリケーションからのプロセスはできるだけ早くあなたが指定したVINと車を言うように...
VIN vin = new VIN(...);
Person person = personDao.getPerson();
Car personCar = person.getCars().byVin(vin);
この実車が最初に必要な理由を教えてください。それは表示用か、実装しようとしている特定の動作ですか? –
@ShaneC - 与えられた例は、完全なドメインについて説明することなく投稿できる簡単な例です。私の実際の問題では、別のエンティティオブジェクト内のビジネスルールにコレクションのオブジェクトを使用しようとしています。 –