본문 바로가기
Theory/Design Pattern

Proxy Pattern

by y.j 2022. 4. 24.
728x90

Proxy Pattern

Proxy Pattern은 다른 object를 통제 할 수 있는 대리자를 만드는 것이다.

어떻게 object에 접근하는 것을 통제 할까?
object에 접근할 때, 추가적인 기능을 어떻게 제공할까?

Solution

Proxy는 RealSubject를 생성자로 받아 operation하게 한다.

public class Proxy extends Subject{

    private RealSubject realSubject;

    public Proxy(RealSubject realSubject) {
        this.realSubject = realSubject;
    }

    @Override
    public String operation() {
        return "Hello World from proxy and " + realSubject.operation();
    }
}

 

Advantages

• Client가 단순화 된다.

 - proxy는 client로 부터 추상적이기 때문에 구현, 변경, 테스트나 재사용이 쉬워진다.

 

Disadvantages

• Proxy는 real subject와 연관되어 있다.

 - Proxy는 Subject interface를 구현하거나 RealSubject를 직접접근해야만 한다.

 - RealSubject를 인스턴스화 하기 위해서 Proxy는 클래스를 구체적으로 알아야만 한다.

 

[전체소스]

https://github.com/jKyounju/adapterPatterns/tree/master/src/ProxyPattern

728x90

'Theory > Design Pattern' 카테고리의 다른 글

Decorator Pattern  (0) 2022.05.08
Composite Pattern  (0) 2022.05.05
Bridge Pattern  (0) 2022.04.24
Prototype Pattern  (0) 2022.04.23
Factory Method Pattern  (0) 2022.04.10

댓글