2015-12-03 13 views
5

Akkaの永続的な(Eventsourcing/CQRS)で私のアクターをどのように構造化すればよいですか?永続アクターをAkka永続性でどのように構成する必要がありますか?

  • 階層
  • パラレル

私は私のeコマースアプリケーション

  • ユーザーにこれらのドメインオブジェクトを持っている - ユーザーアカウント
  • ストアを作成することができます - ユーザーが店舗
  • を作成することができます製品 - ユーザーは店舗に製品を追加できます
  • カート - ユーザーは、他のユーザーの店舗の商品をカートに追加できます。

私の俳優はどのように構造化すればよいですか? eコマースドメインモデルとの関連で他のものよりも優位に選択するメリットとデメリットは何ですか?

akka actor structure

答えて

3

私はあなたの質問は、あなたの凝集体の境界についての詳細だと思います。

いずれにしても、集約間に階層構造は存在しません。集約は互いに独立している必要があります。親子関係はありません。

あなたの説明に従ってください。ストアを作成して製品を追加できるユーザー集計があります。

Storeは、User集約によって開始される離れた集約である可能性があります。ユーザーがStoreを作成できるという事実は、それらが親子関係を持つべきであるということを意味しないことに注意してください。それはアクセス制御に関するものです。ストアは、ユーザーによって作成され、これだけのユーザーはそれに製品を追加する権利を有します。

しかし、製品は、店舗集計内部実体のようです。

あなたの4番目の例は、 - 、「カートユーザーは、カートの中に、他のユーザーのストアから任意の製品を追加することができ、」全く違う何かを明らかにする。あなたには2種類のユーザーがいます。特定のストアのストアとコンシューマを作成および管理するユーザー。彼らは同じではなく、彼らは異なってモデル化されるべきです。

は、彼らが似ているという理由だけで、オブジェクトを再利用しようとすることなく、あなたのビジネスのドメインをモデルにしてください。

関連する問題