0

懸念事項の分離 (SoC) では、各ユニットが 1 つの懸念事項のニーズのみに対応するように、アプリケーションを機能の特定のユニットに分割することを提案しています。

SoC が一般的にユーザー要求を処理するのにより多くの時間がかかるという 1 つの実践シナリオがあります。たとえば、私がソーシャル メディアの Web サイトで作業しているとします。ユーザーが別のユーザーから送信された招待を受け入れる場合、通常、例として次のような処理を行います。

  1. 招待状が有効になります。(InvitationRepository がこれを行います)
  2. 友達が私のネットワーク リストに追加されます。(FriendRepository がこれを行います)
  3. 電子メール メッセージが追跡され、電子メールが友人に送信されます。(EmailRepository がこれを行います)

この場合、データベースへの 3 つのリクエストが完了するまで待つ必要があり (データベースはどこかにある)、モノリシック コードを使用した 1 つのデータベース呼び出しですべてが存在する他のシナリオと比較すると、完了までに長い時間がかかります。

この場合、どちらが良いか教えていただけますか?

4

1 に答える 1

0

理にかなったことをしてください。アプリケーション標準のために SoC を維持することが重要である場合は、SoC を最適化するか、SoC を引き続き使用する同期プロセスではなく非同期プロセスを作成する方法を検討してください。ユーザビリティが SoC よりも重要であり、SoC の回避策が不可能な場合は、アーキテクチャ上の悪夢を作成する理由の範囲内で、必要に応じてモノリシックなことを行います。

最高のソリューションが、最高のスループットを提供するソリューションであるとは限りません。そうでなければ、ASP.NET .aspx.cx ページには、ビジネス ロジック、データベース アクセス、Web サービスの呼び出しなど、すべての懸念事項が組み込まれていることになります。10 年以上前の多くの従来の ASP アプリケーションがそうでした。

于 2011-01-17T18:39:25.450 に答える