私の質問は、仕様パターンをいつ使用するか、特定の SQL クエリをいつ使用するかです。
特定のパターンがコレクション全体を収集し、具体的な仕様を使用してフィルターを投稿する必要があることを理解しました。しかし、特定の SQL クエリの前での利点がわかりません。
CarColorSpecification cc = new CarColorSpecification(RED);
CarAgeSpecification ca = new CarAgeSpecification(OLDER, 5);
ISpecification finalSpec = cc.And(ca);
List<Car> res;
List<Car> carColl = service.getCars();
foreach(Car c in carColl) {
if(finalSpec.isSatisfiedBy(c)) {
res.add(c);
}
}
そしてSQL/Hibernateでも同じ
FROM Car c WHERE c.color = RED AND c.age > 5
処理するデータ量にもよると思います。