私は現在、やや大規模な通信プロトコルを扱いやすいものに作り直しています。これは一種の意見のある質問ですが、あなたの経験に基づいて、コードが大きくなるにつれて、これら2つのアイデアのどちらが維持しやすくなります。
クライアントとサーバーがあります。サーバーには、クライアントが必要とする可能性のあるA、B、C、Dなどの情報があります。情報は、名前のような単一のデータセットではなく、名前のリストです。通常、列の内容全体。クライアントは通常、ABC、DEF、ABDなどのグループでこのようなものを必要とします。重複はあまりありません(つまり、通常、Aの要求の80%はBとCの要求でもあります)。
システムが大きくなるにつれて、通信プロトコルが次のように機能するシステムを維持するのが容易になります。
Request 1: Server returns ABC
Request 2: Server returns ABD
また
Request 1: A
Request 2: B
Request 3: C
等
最初のコードを使用する傾向があります。コードが少し読みやすく、操作しやすくなり、ABCなどのグループに特別なリクエストを送信すると、サーバーがデータベースで実行するクエリが少なくなり、必要な情報。しかし、コードベースは現在よりも大幅に大きくなります。クライアントとサーバーの通信方法をすでに見直しているので、ここの人々がどちらかまたは両方の方法で経験したことを聞きたかったのです。 。
編集:私はネットワークトラフィックだけでなく、サーバーがこれらの要求をどのように処理するかなどについても話していることに注意してください。クライアントが3つの個別のリクエストを行う場合、サーバーは3つのDBクエリを作成する必要がありますが、グループ化されたリクエストは1つのクエリとして実行される可能性があります。