問題タブ [domain-events]
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.
domain-driven-design - ApplicationEvent は DomainEvent とどう違うのですか?
DDD サンプルの Cargo Tracking アプリケーションには、「ApplicationEvents」と DomainEvents があります。
ApplicationEvents の例: 「cargoHasArrived」、「cargoWasMishandled」
DomainEvent の例: 「HandlingEvent.LOAD」、「HandlingEvent.RECEIVE」、「HandlingEvent.UNLOAD」など。
アプリケーションイベントとドメインイベントは意味的にどのように異なるはずですか?また、それが ApplicationEvent または DomainEvent に含まれるかどうかを判断するために使用するガイドラインは何ですか?
asynchronous - ACL と BoundedContext 間の非同期通信
プロジェクトの DDD に従っています... 制限されたコンテキストからレガシー アプリケーションにアクセスする必要があります。そのため、破損対策レイヤーを作成します..しかし、問題があります.ACL で実行しているメソッドは非同期であり、イベントを介して結果を返します...呼び出しの結果は、データベースの更新に使用されますバインドされたコンテキスト...
このようなシナリオでは、ACL と境界コンテキスト間の通信にドメイン イベントを使用できますか
前もって感謝します
domain-driven-design - ドメイン イベントはハードコードではなく、お客様が定義します
当社の SaaS 製品の要件は、変更された属性または属性の組み合わせがドメイン イベントをトリガーし、その後カスタム プロセスまたは通知を開始できるドメイン レイヤーを構築することです。
そのため、多くのテナントにとって意味をなさない可能性のある大量の DomainEvent オブジェクトを開始する大量のコードをドメイン レイヤーに追加することをためらっています。
各テナントは、(UI 画面を介して) 次のことができます。 1. 気になる属性 (例: 「金額」) とその理由 (例: 金額が 100 ドルを超えた) を定義する 2. 変更時に何が起こるかを定義する (例: キック)承認プロセス外)
これは、ビジネス ルール エンジンと BPMS の統合のように思えます。これに対するより軽量なフレームワークまたはソリューションについて考えている人はいますか?
domain-driven-design - DDD でのローカル消費のためのドメイン イベント
私は最近 DDD に慣れ、重要な概念を把握しようとしています。ローカル サブスクライバーのドメイン イベントを発行する場合のクエリがあるので、イベント発行者が AQMP を介してリモート サブスクライバーへの発行の両方を処理すると想定できますか?また、オブザーバブルを活用してローカルのサブスクライバーに公開しますが、これはスケーラブルなソリューションですか? または、これを処理するおなじみのパターンはありますか? (prblm に対する反応的な解決策があるかどうかもアドバイスします。RxJava などの可能性があります)
java - DDD - ドメイン イベントの保存と発行のアーキテクチャ
アプリケーションのドメイン イベント フレームワークを実装しています。以下は同じ疑似コードです。明らかな注意事項があるかどうかを知りたいです。
フレームワークは、ドメイン イベント (必要に応じて後でモデルの状態を再構築するため、またはミックスにレポート システムを追加するため) とパブリッシング インフラストラクチャを永続化するための 2 ステップで設計されます。
保管
出版
これは、少しの調査に基づいて思いついた最も単純なものであり、何も見落としたくありませんでした.
持続性は接続プールされた Postgres になり、前述のように RabbitMQ はメッセージング インフラになります。
domain-driven-design - DDD では、すべてのオブジェクトを集約、エンティティ、または値オブジェクトとしてモデル化する必要がありますか?
ソーシャル ネットワーク Web サイトの設計に DDD (ドメイン イベントを含む) と CQRS (イベント ソーシングなし) を採用しています。
User
、FriendRequest
、のような集約ルートがありFriendship
ます。UserAddressChanged
、のようなドメイン イベントもありますFriendRequestAccepted
。これらのイベントの一部は、関係のあるユーザーに通知する必要があります。だから私は次のNotification
ようなクラスを持つことを考えています:
Notification
しかし、クラスを集約ルートとしてモデル化する必要がありますか? はいの場合、User
集約がアドレスを変更してUserAddressChanged
ドメイン イベントを発生させると、対応するイベント ハンドラで新しい集約Notification
が作成され、その後NotificationRepository
. しかし、イベント ハンドラーで新しい集計を作成するのは怪しいと思います。
一方、 のような単純なクラスには重すぎるようにも感じNotification
ます。通知がドメインの問題なのかインフラの問題なのか判断できません。
php - ドメイン イベント 追加データを取得するには?
DDD を使用して e コマース システムを構築しています。このシステムには、2 つの境界付けられたコンテキストがあります:Identity & Access
とSales
.
顧客は、フォームに名前、電子メール、パスワードを入力して登録できます。次に、Sales
コンテキストで、顧客を次のように登録します。
Customer
集約はイベントを発生させCustomerWasRegistered
ます。
Identity & Access
コンテキストはこのイベントに反応し、その顧客の集計を作成しSystemUser
ます。
私の質問:アグリゲートはパスワード (およびイベント)Customer
を認識していないためです。このパスワードをリクエストからコンテキストCustomerWasRegistered
に取得するにはどうすればよいですか?Identity & Access
domain-driven-design - ドメイン イベントが失敗した場合はどうなりますか?
DDD初心者です。今、私はドメインイベントを見ていました。このドメイン イベントを正しく理解しているかどうかわかりませんが、ドメイン イベントの公開に失敗したらどうなるか考えているだけです。
ここにケースがあります。バイヤーが私のウェブサイトから何かを注文するとき、最初にオブジェクト Order with item of items を作成します。ドメイン イベント OrderWasMade が発行され、Inventory の在庫が差し引かれます。ここでは、イベントが処理されたときにアイテムの数量が差し引かれ、システムが在庫を差し引こうとしたときに、アイテムの在庫が残っていないことが判明した場合 (金額 = 0) はどうなるでしょうか。 . したがって、アイテムの金額を差し引くことはできませんが、注文はすでにコミットされています。
こういうシチュエーションになるの?
ここで他の 2 つの質問を絞り込んで申し訳ありません。
各イベントは独自のトランザクション スコープにあるようです。これは、システムがデータベースへの複数の接続を一度に開く必要があることを意味します。IIS サーバーを使用している場合、DTC を有効にする必要がありますが、これでよろしいですか?
ドメインイベントとドメインサービスの間に関係はありますか?