w ,

FajneFajne Dobre!Dobre! ŚwietnieŚwietnie Że co?Że co?

Proxy – Wzorzec Projektowy Pełnomocnik [Wideo]

Wzorzec proxy
Wzorzec proxy

Proxy jest wzorem strukturalnym, który pełni rolę reprezentanta innego obiektu w celu uzyskania nadzorowanego dostępu do obiektu, który przedstawia.

Proxy – przykłady użycia:

Wzorzec ten popularnie wykorzystuje się przy okazji:

Zalety wzorca:

W przypadku aplikacji oszczędzamy pamięć i zasoby sprzętowe służące do realizacji ciężkich obliczeniowo operacji. Z punktu widzenia użytkownika aplikacja wymaga krótszego czasu wczytywania, bo skomplikowane elementy wczytują się tylko wtedy, kiedy są one rzeczywiście potrzebne.

Elementy wzorca:

  • Kontroluje dostęp do zasobu i odpowiada za jego tworzenie oraz niszczenie.
  • Przechowuje referencje do obiektu, którego reprezentuje.
  • Posiada interfejs identyczny z interfejsem obiektu.

Diagram klas wzorca Proxy:

Rozatrzmy interfejs Subject, która dostarcza metodę Foo.

W takim przypadku nasz właściwy obiekt RealSubject musi implementować powyższy interfejs. Obok niego tworzymy obiekt Proxy, który w tym przykładzie nazywa się ProxySubject.

Zarówno RealSubject i ProxySubject implementują ten sam interfejs. Różnica polega na implementacji, ponieważ RealSubject zawiera właściwą implementację metody biznesowej, natomiast ProxySubject zawiera odwołanie do implementacji tej metody w klasie RealSubject.

Z punktu widzenia klienta powinniśmy powinnyśmy operować na implementacji interfejsu Subject dostarczanego przez ProxySubject. Zobacz to na przykładzie poniżej.

Implementacja wzorca

Wspólny interfejs

public interface Subject {
    void foo();
}

Klasa Proxy


public class ProxySubject: Subject
{
    public RealSubject realSubject;

    // realSubject getter and setter


    public void foo() {
        realSubject.foo();
    }
}

Proxed class – klasa z właściwą implementacja do której odwołuje się obiekt Proxy

public class RealSubject implements Subject {

     public void foo() {
        System.out.println("hello ^-^");
     }
}

Wzorzec Pełnomocnik – wytłumaczenie wideo

Po więcej praktycznych przykładów na przykładzie frameworka Spring odsyłam Cię do mojego krótkiego wideo:

W opisie filmu znajdziesz link do pełnego szkolenia na temat Proxy, gdzie poruszam również wykorzystanie tego wzorca w Springu.

Napisane przez Przemysław Bykowski

Aktywny programista i energiczny trener. Specjalizuje się w Spring Boot i uczę go w ramach AkademiaSpring.pl. Po godzinach udzielam się na YouTubach. Więcej o mnie.

Dodaj komentarz

Spring Boot LiveBook – Najczęściej Zadawane Pytania i Odpowiedzi

Nowy Spring Security

Jak Implementować Mechanizmy Bezpieczeństwa w Spring Boot?