0

非同期呼び出しを含むプロキシ パターンを実装するには?

たとえば、何かを取得したい場合は、まずオブジェクトがメモリに存在するかどうかを確認し、存在しない場合は、それを取得するために http 要求を行います (これは非同期呼び出しです)。

Customer customer;
customer = CustomerDAO.getCustomerByName("John");

および CustomerDAO.getCustomerByName("John"); の内部。

Customer getCustomerByName(String name)
{
    int age = 40;

    if (map.contains(name)) 
    {
        Customer customer = map.get(name);
        customer.age = age;
        return customer;
    }
    else
    {
        makeRequestAsnyc(name, callback);
    }
}

ただし、非同期であるため、プログラムの流れが中断されます。また、getCustomers のローカル変数もコールバック関数に渡す必要があります。Asyncでプロキシパターンを実装する提案はありますか? ありがとう。

4

1 に答える 1

1

これはどうですか?(申し訳ありませんが、「Callback」クラスについて推測しています)

Customer getCustomerByName(String name, Callback callback)
{
    int age = 40;

    if (map.contains(name)) 
    {
        Customer customer = map.get(name);
        customer.age = age;
        callback.call(customer);
    }
    else
    {
        makeRequestAsnyc(name, callback);
    }
}

一般に、非同期 API が既にある場合は、ブロッキング メソッドを導入したくありません。

于 2011-08-08T02:43:33.987 に答える