ここに問題があります: 私たちは、ユーザーがミッションと対話するプロジェクトを持っています。しかし、すべての任務はキャンペーンの一部であり、すべてのキャンペーンはアカウントに存在します。私にとっては、アカウントを集約的なルートにすることは理にかなっているようです(なぜなら、ミッションはキャンペーンなしでは存在できず、アカウントなしではキャンペーンが存在できないからです)。論理とパフォーマンスの根本的な矛盾
アカウント、キャンペーン、およびミッションには、ミッションがユーザーによって実行されるために必要な予算があります。 だから私はこのような何か考えた:ドメインロジックのために意味をなす
class Account{
Budget Budget;
List<Campaign> Campaigns;
// Account stuff
}
class Campaign{
Budget Budget;
List<Mission> Missions;
// Campaign stuff
}
class Mission{
Budget Budget;
double Value;
// Mission stuff
}
を、しかし、私は彼らがキャンペーンやアカウントを気にしないので、ユーザーは、ミッションを直接操作できるようにトラブルを抱えています。また、複数のアカウントがあり、実行できるすべてのミッションをユーザーに提供する必要があります。すべてのこれらのエンティティをロードすると重くて複雑になりますので、私はすべてを元に戻すと、このような使命を作りについて考えた:
class Mission{
Budget AccountBudget;
Budget CampaignBudget
Budget MissionBudget
Double Value;
// All mixed stuff that i need
}
だから私はちょうどミッションリポジトリがあるでしょうし、それはすべてのミッションやユーザーと作業しやすくなり、ミッションが実行されると、私はすべてのミッションのアカウントとキャンペーンの予算を更新する必要があります。この構造はまた、ドメインロジックに関して私にはあまり意味がありません。 私は最初の解決策をとると、どのようにパフォーマンスの問題を回避し、利用可能なすべてのミッションをユーザーが利用できるようにするのですか?そして、私が第2の解決策をとるなら、それは意味をなさないでしょうか?
適切な人々が見つけるために使用するプログラミング言語で質問にタグを付けてください。 –