dddと境界付けられたコンテキストについて質問があります。
2 つの境界付けられたコンテキストがあるとします。最初のものでは、集約ルートは Web ページに広告を公開できる Customer です。私はそれが彼の振る舞いに当てはまると思います。彼は PublishAdvertisement() のメソッドを持っています。しかし、2 番目の境界付けられたコンテキストには、Advertisement が集約されています。これは、Advertisement が Customer に属しているという性質上、Customer プロパティを持っていることを意味します。
Customer と Advertisement はどちらも、システムとデータベースで一意です。
私の質問は次のとおりです。顧客からの広告の作成をファクトリまたは依存性注入に委任することをお勧めしますか?
編集:
回答ありがとうございます 情報不足で申し訳ありません。
依存性注入:
特定の状況を解決するための最良の方法は何だろうと思っていました。会社には広告テンプレートの在庫があります。テンプレートが在庫にあれば使用できますが、そうでない場合は誰かにレンタルされます。同社は、より多くの株式を保有する計画を持っています。顧客がこれらのテンプレートで広告を作成したい場合は、テンプレートを選択し、在庫があればすべて準備完了です。これをそのまま読んで、サービス(ドメイン)CheckAvailability(テンプレート)が必要であると想定しました。サービスの性質上、検証でいくつかの集計を使用し、データベースにクエリを実行するため、特定の集計には適合しません。将来、より多くの Stocks (他の会社から借りたもの、おそらく他の誰かのデータベース) が存在するようになると、依存性注入を使用して、実装を変更せずにこれらの Stocks をサービスに追加することを計画していました。
制限されたコンテキスト:
境界付けられたコンテキストとデータベースに関して。はい、1 つのデータベース オブジェクトと、同じデータベース オブジェクトを使用する 2 つのコンテキストがあります。Order には Customer への参照があり、Customer に属しているため、次のようになります。
Order() 顧客 顧客 (get; プライベート セット;)
///その他のプロパティとメソッド
これらのような 2 つのコンテキスト (Customer->Order___1:M) が同じデータベースに関連しているという意味で、リンク、ビデオ、本を介して追加情報をいただければ幸いです。ありがとうございました。