Proxy Proxy jest publicznie dostępnym interfejsem dostępowym dla aktywnego obiektu. Zawiera on dokładnie takie same metody, jak oryginalna klasa, które przyjmują dokładnie takie same argumenty. Zamiast wyniku zwracany jest obiekt klasy Future, czyli rodzaj obietnicy dla wywołującego wątku, że w przyszłości znajdzie się tam wynik żądanej operacji. Metody Proxy tworzą żądanie wywołania metody oraz obiekt Future, łączą je ze sobą oraz przekazują żądanie do planisty.
Przykładowa implementacja:
class BuforProxy { private Scheduler planista; private Bufor aktywnyObiekt;
konstruktor { utwórz obiekt planisty; utwórz właściwy bufor w aktywnyObiekt (Servant);
public Future zwieksz(int ilość) { utwórz obiekt Future: future; utwórz obiekt żądania dla metody "zwiększ": żądanie; przypisz do żądania argument ilość; przypisz do żądania obiekty future oraz aktywnyObiekt; dodaj żądanie do kolejki planisty; zwróć future
public Future zmniejsz(int ilość) { utwórz obiekt Future: future; utwórz obiekt żądania dla metody "zmniejsz": żądanie; przypisz do żądania argument ilość; przypisz do żądania obiekty future oraz aktywnyObiekt; dodaj żądanie do kolejki planisty; zwróć future