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 |
댓글