私のアプリは外部請求APIを呼び出して、第2の外部サービスに送信しなければならない外部IDを受け取り、請求確認を確認します。外部IDはその瞬間にのみ使用され、私のドメインには意味がありません。それを保管する最良の場所はどこですか?DDD:非ドメインデータを保持する場所はどこですか?
0
A
答えて
1
この情報を保持したいということは、この請求プロセスが一連の非同期操作として行われるか、そうでなければ最初の請求リクエストIDを保持する必要がないことを意味します。
このようなプロセスのオーケストレーションの背後にあるプロセスマネージャーやサガは、通常、独自の状態を持っています。これが私がその情報を保存する場所です。
0
外部システムとの統合は、通常、2つのオブジェクトによって表され、モデル化されると考えてください。外部システムを表す問題ドメイン(PD)内の1つ、実際の外部システムへのインタフェースを表すPD外の1つその外部のものは、しばしば「システム・インタラクション」(SI)と呼ばれるものに編成されており、多くの場合、実際には製造業者または第三者が提供するライブラリまたはインターフェイスです。
あなたの場合、私はそのSIオブジェクトに外部ID(必要な場合)を保持し、SIオブジェクトに確認のためにメッセージを送信させます。
PDと一致するSIオブジェクトは、通常、ビジネスオブジェクト指向のインターフェイスを共有し、SIオブジェクトを個別に開発することができます。 PDがいくつかの構成情報に基づいて工場によって作成された後に間接的にSIオブジェクトにアクセスするのは一般的です。
関連する問題
- 1. DDD:ドメインインタフェースを維持する場所、インフラストラクチャ
- 2. DDDアーキテクチャではどこでヘルパークラスを保持しますか?
- 3. リアクトコンポーネント内のsetInterval()を保持する最良の場所はどこですか
- 4. 非クラスメソッドを定義する場所はどこですか?
- 5. デフォルトでhg拡張子を保存する場所はどこですか?
- 6. iOS 5アプリケーションでファイルを保存する場所はどこですか?
- 7. 異なる設定を保存する場所はどこですか? C#サービス
- 8. パッケージソースの場所はどこですか
- 9. エージェントの履歴をSQL Serverに保存する場所はどこですか?
- 10. Rails + Delayed Job:カスタムジョブクラスを保存する場所はどこですか?
- 11. コードレビューの前にコードを保存する場所はどこですか?
- 12. Openshift v3にCSSファイルを保存する場所はどこですか?
- 13. アプリケーション固有のデータを保存する場所はどこですか?
- 14. iOSアプリケーションに定数を保存する場所はどこですか?
- 15. Spring Boot、Angular2、Postgresql-画像を保存する場所はどこですか
- 16. Javaクロスプラットフォームアプリケーション:外部ファイルを保存する場所はどこですか?
- 17. Windowsに一時ファイルを保存する場所はどこですか
- 18. ウェブアプリケーションに画像を保存する場所はどこですか?
- 19. RTCPeerConnectionオブジェクトをReact/Reduxアプリケーションに保存する場所はどこですか?
- 20. WordPressの保存場所タグはどこにありますか?
- 21. react/reduxアプリで非UIロジックを置く場所はどこですか?
- 22. ファイルシステム上でWindowsサービスがそのデータを保持すべき場所はどこですか?
- 23. ファクトリーパターンDDDにはどのような場所がありますか?
- 24. DDDでは、リストを保持するクラスを値型にできますか?
- 25. KitKatに保存されている場所の設定はどこですか?
- 26. アンドロイドデバイスにアプリパスが保存されている場所はどこですか?
- 27. バックボーンとAMDモジュールを使用する場合、認可データを保存する場所はどこですか?
- 28. コードイグナイターでグローバルオブジェクトをインスタンス化する場所はどこですか?
- 29. virtualenvでホストファイルを作成する場所はどこですか?
- 30. javascriptでイベントハンドラを追加する場所はどこですか?
わかりましたが、すべての請求リクエストで使用する必要がある外部ID(ex customer customer external id)を持っている場合、どうすればよいですか? –
@DavidDuarteあなたがBilling boundedコンテキストで顧客をモデル化した場合、そこに保存することができます。あなたのサブドメインがそれ自身のコンテキストを持つのに十分な大きさでないなら、私は実用的であることをあなたの顧客に置き、それを1日と呼ぶことができると思います。また、アプリケーション層によって活用され、それらの顧客IDを格納/取得できる特殊なサービス(ドメイン外)を実装することもできます。 – plalx
非常に役に立ちます。どうもありがとう。 –