1

私のドメインは、Products、Departments、Classes、Manufacturers、DailySales、HourlySales で構成されています。

ストレージからの製品の保存/取得を容易にする ProductRepository があります。

部門とクラスの保存/取得、およびそれらの部門とクラスからの製品の追加と削除を容易にする DepartmentAndClass リポジトリがあります。

複数のグループから毎日の売上に関する統計を取得するために使用する DailySales リポジトリもあります。つまり..

DailySales.GetSalesByDepartment(dateTime)
DailySales.GetSalesByClass(dateTime)
DailySales.GetSalesByHour(dateTime)

このような独自のリポジトリにこれらの販売追跡メソッドを含めることは正しいですか? 私は正しい軌道に乗っていますか?

4

2 に答える 2

1

ほとんどのクエリはオブジェクトまたはオブジェクトのコレクションを返しますが、オブジェクト数や、モデルが集計することを意図した数値属性の合計など、一部の種類の集計計算を返すことも概念に適合します。

    Eric Evans - Domain-Driven Design

これは読み取りモデルと見なされる場合があります。これらの毎日の販売オブジェクトは、ドメイン モデルの動作で使用されていますか? それらに依存するビジネスロジックはありますか?そうでない場合は、これを個別の読み取りモデルに分離することをお勧めします。この時点で、CQRSへの最初のステップを踏み出します。

于 2013-06-17T09:46:01.640 に答える
1

ドメインはコンテキストに大きく依存しているため、一部の回答は他の回答よりも困難です。しかし、私は統計Queryを物事の脇に置きます。データベースに負荷のかかる処理を行うため、これらの統計をオンザフライで計算することはおそらく望ましくありません。通常、統計情報は、フィルタリングのみが必要な場合にすばやくアクセスできるように非正規化する必要があります。

まだ CQRS を確認していない場合は、確認することをお勧めします。

于 2013-06-17T06:49:09.127 に答える