본문

Proxy Pattern

반응형

제어 흐름을 조정하기 위한 목적으로 중간에 대리자를 두는 패턴

 

 

 

이미지 출처: sourcemaking.com

 

- 프록시는 대리자, 대변인이라는 뜻을 가진다.

- 대리자/대변인이라고 하면 다른 누군가를 대신해서 그 역할을 수행하는 존재를 말한다.

 

 

💡 InterfaceService.java

public interface InterfaceService {
    String runSomething();
}

 

 

💡 Service.java

public class Service implements InterfaceService {
    public String runSomething() {
        return "TEST PAGE";
    }
}

 

 

💡 Proxy.java

public class Proxy implements InterfaceService {
    InterfaceService interfaceService01;

    // Proxy 클래스의 runSomething() 메서드를 호출하면서 
    // Service클래스의 runSomething()메서드도 호출한다
    public String runSomething() {
        System.out.println("호출에 대한 흐름 제어가 주목적, 반환 결과를 그대로 전달");
        
        interfaceService01 = new Service();
        return interfaceService01.runSomething();
    }
}

 

 

💡 ClientWithProxy.java

public class ClientWithProxy {
    public static void main(String[] args) {
        InterfaceService proxy = new Proxy(); // 프록시를 이용한 호출
        System.out.println(proxy.runSomething());
    }
}

 

 

💡 결과

호출에 대한 흐름 제어가 주목적, 반환 결과를 그대로 전달
TEST PAGE

 

 

반응형

공유

댓글