懸念事項の分離 (SoC) では、各ユニットが 1 つの懸念事項のニーズのみに対応するように、アプリケーションを機能の特定のユニットに分割することを提案しています。
SoC が一般的にユーザー要求を処理するのにより多くの時間がかかるという 1 つの実践シナリオがあります。たとえば、私がソーシャル メディアの Web サイトで作業しているとします。ユーザーが別のユーザーから送信された招待を受け入れる場合、通常、例として次のような処理を行います。
- 招待状が有効になります。(InvitationRepository がこれを行います)
- 友達が私のネットワーク リストに追加されます。(FriendRepository がこれを行います)
- 電子メール メッセージが追跡され、電子メールが友人に送信されます。(EmailRepository がこれを行います)
この場合、データベースへの 3 つのリクエストが完了するまで待つ必要があり (データベースはどこかにある)、モノリシック コードを使用した 1 つのデータベース呼び出しですべてが存在する他のシナリオと比較すると、完了までに長い時間がかかります。
この場合、どちらが良いか教えていただけますか?