するこの実装を向上させることができ、私が入ってくるオブジェクトを処理するために必要なサービスのメソッドを持っています(ちなみに、これは擬似コードです)どのように私はより効率的
public class IncomingParentObject {
public Collection<IncomingChildOject> childObjects;
}
public Class IncmoingChildObject {
public String name;
}
私はの「レジストリ」を持っています入ってくる子オブジェクトのサブセットを気にする "クライアント"。登録時点では、「名前」のみがわかります。クライアントオブジェクトは、情報を転送するためにトランスポート層の詳細をカプセル化します。
public class Registry {
// String represents the name in the child object
public Map<String, Set<Client>> clients;
}
今のサービスクラスは、この線に沿って何かである:
public void processIncmoingParentObject(IncomingParentObject parentObject) {
for (IncmoingChildObject childObject : parentObject.childObjects) {
Set<Client> clients = registry.clients.get(childObject.name);
for (Client client : clients) {
this.transportLayer.transportChildObject(childObject, client);
}
}
}
これは(高価なまたは時宜を得てもよい)トランスポート層には、いくつかの呼び出しになります。私は基本的にこれをChildObjectのサブセットのクライアントごとに1つのトランスポートに減らしたいと考えています。
transportLayer.transport(Client client, Set<IncmoingChildObject> childObjects);
クライアントに送信する子のサブセットを決定するために、親の子どもをスキャンするのはどんな効果的な方法でしょうか。
これはCodeReview.SEの方が良いでしょうか? –
私はそれが何であるか分かりません。 – predhme
これは、コードレビューのためのStackExchangeサイドです。リンク:http://codereview.stackexchange.com/私は、より良い/より良い答えが得られるかもしれないと思っていましたが、ここで回答が得られているようです。 –