問題タブ [aggregates]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
596 参照

model-view-controller - MVC パターンでドメイン集約を表現するにはどうすればよいですか?

集約内のオブジェクトごとに個別のクラスを作成する必要がありますか?それとも、オブジェクトを単一の集約クラスのネストされたクラスにする必要がありますか?

0 投票する
3 に答える
4305 参照

domain-driven-design - ドメイン駆動設計 - 集約ルート

集計と集計ルートに苦労しています。ユーザー要求の約 60% で機能する自然な集約ルートがあります。つまり、これらのリクエストは当然集約ルートに適用されます。

集約内に、集約ルートのメンバーとしてのみ存在できる別のエンティティがあります。ただし、ユーザーには、この別のエンティティ オブジェクトについて通知されます。概念的には、ユーザーがこの非集約ルート オブジェクトを直接操作することが理にかなっている場合があります。

したがって、いくつかのオプションがあると思います。

  1. ユーザーが要求している操作に応じて、両方とも集約ルートにすることができます。
  2. すべての操作は、最上位の集約ルートを通過する必要があります。

最上位の集約ルートは、この他のエンティティのコレクションを保持することに注意してください。


例:

主な集計ルート: 車

2 番目のエンティティ: 座席 (タイプに応じて、車には 2 つまたは 4 つの座席があります)。私のドメインでは、座席は車の一部としてのみ存在できます。

ドメイン内のほとんどの操作は、自動車レベルです。したがって、これは集約ルートの良い候補になります。ただし、(ここで例を示すのに苦労しています)、SpillCoffee、ChangeFabric、Clean など、一部の操作はシート レベルになります。

Seat と Car の両方が集約ルートになることはできますか? それとも、常に Car から始める必要がありますか?

ありがとう

0 投票する
3 に答える
7146 参照

c# - Linq-1つのクエリで複数の平均を計算します

データベースへの複数のトリップを回避するために、いくつかのSQLクエリをLinqに変換しようとしています。

私が変換しようとしている古いSQLは次のようになります。

そこで、2つのC#クラスを作成しました。

そしてList<A>、クエリしたいオブジェクトがあります。これはデータベースから入力されるため、リスト内の各Aには、Bの負荷を持つサブリストがあります。Linq-to-objectsを使用してこのリストをクエリしたいと思います。

したがって、Linqを使用して、Aの開始から子Bの完了までの平均時間、および各Bの開始から完了までの平均時間を取得する必要があります。私は元のSQLを作成しなかったので、それが想定どおりに機能するかどうかは完全にはわかりません。

計算するこれらの平均のいくつかを持っているので、1つの魔法のLinqクエリ内でそれらすべてを実行したいと思います。これは可能ですか?

0 投票する
3 に答える
481 参照

domain-driven-design - ドメイン エンティティの追加データの取得

私はドメイン集約を持っており、それを「オーダー」と呼び、オーダーラインのリストを含んでいます。注文は、注文明細の金額の合計を追跡します。顧客は、データベース トランザクションの履歴を合計することによって計算された、注文可能な実行中の「クレジット」残高を持っています。「プール」のお金をすべて使い果たすと、それ以上製品を注文できなくなります。

そのため、注文に行が追加されるたびに、プールに残っている金額と、注文がそれを超えているかどうかを確認する必要があります。プール内の金額は、他の関連する顧客が継続的に使用しているため、継続的に変化しています。

問題は、DDD の観点から考えると、ドメイン層を DataContext の問題で汚染したくないので (ここでは L2S を使用して)、その量をどのように取得するかです。ドメインからデータベースにクエリを実行することはできないので、ビジネス ルールを検証できるようにするにはどうすればそのデータを取得できますか?

これはドメイン イベントが使用されるインスタンスですか?

0 投票する
1 に答える
876 参照

ssis - 行数コンポーネントのアナログを集約しますか?

データフロー タスク内から変数に格納されたフィールドの合計を取得する方法が必要です。行数変換はこれを行いますが、他の集計関数を使用する方法がわかりません。変換コンポーネントをスクリプト化するのが私の最善の策ですか?

0 投票する
2 に答える
1067 参照

sql - Django - 関連するモデルのサブセットを数えます - 各アイテムのアクティブなクーポンの数に注釈を付ける必要があります

アクティブかどうかを定義するフィールドがいくつかある Coupon モデルと、ライブ クーポンのみを返すカスタム マネージャーがあります。クーポンにはアイテムへの FK があります。

Item のクエリで、利用可能な有効なクーポンの数に注釈を付けようとしています。ただし、カウント集計は、アクティブなクーポンだけでなく、すべてのクーポンをカウントしているようです。

およびビットは他の理由で存在します - クエリは重複を返すようなものです.distinct()distinct=True完全を期すためにここで言及するだけで、すべて正常に機能します。

問題はCount、カスタム マネージャーによって除外された非アクティブなクーポンが含まれていることです。

マネージャーCountを使用するように指定する方法はありますか?live


編集

次の SQL クエリは、まさに必要なことを行います。

少なくともsqliteでは。SQL の第一人者からのフィードバックは大歓迎です。ここで偶然プログラミングしているように感じます。または、さらに良いことに、Django ORM 構文に戻す変換は素晴らしいでしょう.

0 投票する
1 に答える
276 参照

domain-driven-design - 集約ルートの子を更新するドメイン ロジックを配置する適切な場所はどこですか?

集約ルートの子を直接更新するのがベスト プラクティスですか、それとも集約ルートを介してのみ更新するのがベスト プラクティスですか? たとえば、どちらが優先されますか:

また

この部門のガイダンスをいただければ幸いです。

0 投票する
1 に答える
1353 参照

domain-driven-design - DDD に使用するためにリレーショナル モデルから集約ルートを定義する方法は?

私はかなり長い間、そこにある他の投稿を集約ルートに相対的に見てきました。集約ルートを正しい方法で定義する方法がまったくわからないようです。集約ルートが集約ルートではない、またはその逆などの回答を見ました。私は少し混乱しています。問題は、私が頭の中にリレーショナル モデルを持っていることですが、DDD がそのように進まないことはわかっています。

関係モデルから集約ルートを定義する方法はありますか?

たとえば、それぞれがタスク、問題、およびメモ保持するジャーナル エントリを保持するジャーナルあるとします。

集約ルートをどのように定義しますか? ルートはジャーナルですか? ただし、メモ、問題、およびタスクにアクセスする場合は、問題が発生する可能性があります。それらは、ジャーナルエントリへの参照を保持する集約ルートでもありますか?

わかりにくいので、もう少し詳しく教えていただきたいです。

ありがとう。

0 投票する
3 に答える
124 参照

sql-server-2005 - 欠落している要素を照会する

次の構造のテーブルがあります。

今私が探しているのは、各名前の値の合計を取得し、その間のnull(タイムスタンプ順に並べられた)を、テーブルがそうであるかのように、リストの最初の非null名として扱うクエリです。次のように:

そして私はクエリしますSUM(value), name from this table group by name。私は考えて試しましたが、適切な解決策を思い付くことができません。再帰的な共通テーブル式を見て、答えはそこにあるのではないかと思いますが、それらを正しく理解することができませんでした。

これらの表は単なる例であり、タイムスタンプの値は事前にはわかりません。

誰かが私に手を貸してくれませんか?助けていただければ幸いです。