問題タブ [commondomain]

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 投票する
1 に答える
754 参照

cqrs - J Oliver EventStore V2.0 CommonDomain スナップショット

EventStore と CommonDomain を使用するときに集約のスナップショットを作成するためのベスト プラクティスと考えられるものは何ですか?

0 投票する
4 に答える
1287 参照

cqrs - JOliviers の CommonDomain と EventStore を使用して集計のリストを取得するには?

CommonDomain のリポジトリは、「GetById()」のみを公開します。たとえば、ハンドラーが顧客のリストを必要とする場合はどうすればよいでしょうか?

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

cqrs - J Oliver EventStore/CommonDomain SagaBase

Jonathan Oliver の CommonDomain ライブラリで SagaBase が一般的なのはなぜですか?

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

cqrs - CommonDomain/EventStoreインターフェイスのフェッチ

実装するインターフェースを使用して集約ルートにアクセスしたいのですが、次のようになります。

これを実現するには、CommonDomainまたはEventStoreに何を伝える必要がありますか?IConstructAggregatesは、イベントを格納したアグリゲートの実装タイプを受け取ると思います。自分のIDマップを保持する必要がありますか?

たとえば、私がこれらのaggのルーツを持っているとしましょう:

'idFromAggRoot1'を持つaggregate1インスタンスをすでに保存しました。今、私はそのようにフェッチしたい:

IInterface1には2つの実装者がいるので、後で何を作成する必要があるかをどのように知ることができますか?AggRoot1?AggRoot2?IInterface1?アクティベーターはここで爆撃するので、IConstructAggregatesを実装する必要があることはわかっていますが、元のcommitaggrootタイプを教えてくれる他の記述子があるかどうか疑問に思います。

0 投票する
0 に答える
1116 参照

cqrs - NCQRSとJOliverEventStore

NCQRSとJOliverのEventStoreの両方を評価した人はいますか?どちらか一方に大きな利点がありますか、それとも異なるオーディエンスを対象としていますか?

私が見たもの:

NCQRSには、NServiceBusのサポートが組み込まれています。サポートされているNSBのバージョンはわかりませんが、NSBでのライセンスの変更により、これが私のプロジェクトの問題になっています。NSB2.1を永遠に使い続けたいとは思わないでください。私はおそらくMassTransitまたはRSBにもっと目を向けているでしょう。NCQRSには、私のような初心者に喜ばれるかなりの量の「はじめに」のヘルプもあるようです。

EventStoreにはバスメカニズムへのフックがあるように見えますが、組み込みの実装はありません(間違っている可能性があります)。EventStoreは3.0リリースでかなりの量の最近の活動をしているようですが、いくつかの簡単なコード例と私が見つけたポッドキャストを除いて、特に初心者にとっては、ふるいにかける以外に多くの助けはないようです。スタックオーバーフローまたはグループ。

既存の比較がある場合は、その方向に私を向けてください。上記の私の仮定が正しくない場合は、私を訂正してください。

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

cqrs - JO の CommonDomain で AR バージョンをそのイベントと共にディスパッチする

Aggregate の現在のバージョンを Read Model に伝える正しい方法を探しています。現在、私が見る唯一の可能性は、次のことを行うことです。

Aggregate はすべての読み取り側イベント ハンドラーに AR バージョンを自動的にディスパッチする必要があると思うので、私はそれが好きではありません。

これを行う他の方法はありますか?

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

transactions - 方法: 単一のトランザクションを使用して、複数の集計の更新にまたがる

このアプリケーションでは、Jonathan Oliver の EventStore と CommonDomain を使用しています。イベントの保存に使用するデータベースは、SQL Server または Oracle です。

特定のユース ケースでは、1 つのコマンドで複数の集計を更新する必要があります。(CQRS では) 理想的には 1 つのコマンドで 1 つの集計のみを更新する必要があることを認識していますが、この場合、一度に複数のインスタンスを更新することが特定の要件です。

この操作をアトミックにする簡単な方法 (2 フェーズ コミットを使用せずに) はありますか?

編集: 質問は、EventStore フレームワーク (およびおそらく CommonDomain フレームワークのリポジトリ) の使用に固有のものです。これは、トランザクション処理または Unit Of Work パターンに関する一般的な質問ではありません (私はよく知っています)。

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

cqrs - CommonDomain/EventStore/CQRS : commondomain のテスト プロジェクトはどこにありますか?

GitHub から CommonDomain をダウンロードしました。ディレクトリが表示されます

ファイル「When_an_aggregate_is_persisted.cs」が含まれていますが、それを使用するプロジェクトはありません。また、基本クラス「in_the_event_store」が欠落しているようです。FakeBus、IDomainEvent、SynchronousDispatcher などへの参照もあります。

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

nservicebus - EventStoreで同時実行例外を処理する適切な方法は何ですか?

JOliver EventStore 3.0を使用し、NServiceBusからコマンドを受信する場合、同時実行の例外を処理する適切な方法は何ですか?複数のワーカースレッドがある場合、これはよくあることです。

オプション1

オプション2

NServiceBusにスローバックし、構成からMsMqTransportConfig.MaxRetriesオプションを使用して再試行します。

オプション3

私が考えていないことは?

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

unit-testing - CommonDomain - 集計ルートを単体テストする方法

Jonathan Oliver のCommonDomainEventStoreを使用する小さなシステムがあります。

正しいイベントが発生することを確認するために、集約ルートを単体テストするにはどうすればよいですか?

次の集約ルートを検討してください。

次のテストを書きたいと思います。

メモリ永続性と同期ディスパッチャーを使用して EventStore 全体をセットアップし、モック イベント ハンドラーを接続して、発行されたイベントを検証用に保存することもできますが、少しやり過ぎに思えます。

IRouteEventsCommonDomain にはインターフェースがあります。イベントを直接取得するためにモックできるように見えますが、AggregateBase実際にSubscriberクラスに渡すにはどうすればよいでしょうか? ドミアンをテスト関連のコードで「汚染」したくありません。