リポジトリからアイテムのリストを取得します。次に、それらを並べ替えてフィルタリングする必要があります。これは、効率を上げるためにリポジトリで行われると思います。DDDの方法でこれを行うには2つの方法があると思います。
- フィルタと条件でいっぱいのソートオブジェクトをリポジトリに送信しますか(これは何と呼ばれますか)?
- リポジトリの結果は、.filterメソッドと.sortメソッドを持つオブジェクトを生成しますか?(複数のオブジェクトが含まれているため、これはPOJO / POCOではありませんか?)
それで、答えは1、2、または他ですか?理由を説明していただけますか?リポジトリは必要なデータしか送信できないため(または#2はLazyListのようにデータへのアクセスを遅らせることができるので)、#1に傾いています。コード例(またはWebサイトリンク)は非常に役立ちます。
例:
- 製品product=repo.GetProducts(mySortObject、myFilterObject); //Pocoのリスト
- product.AddFilter( "price"、 "lessThan"、 "3.99"); product.AddSort( "price"、 "descending");