오답노트

[Java] 프록시 패턴 본문

Java/디자인패턴

[Java] 프록시 패턴

권멋져 2023. 7. 11. 17:36

프록시 패턴

최초에 인스턴스를 캐싱해 놓고 그 이후에 다시 호출 될 때, 캐싱된 인스턴스를 사용해 시간을 절약하는 패턴이다.

 

Class

public interface IBrowser {
    public Html show();
}
public class BrowserProxy implements IBrowser{
    private String url;
    private  Html html;

    public BrowserProxy(String url){
        this.url = url;
    }
    @Override
    public Html show() {
        if(html == null){
            this.html = new Html(url);
            System.out.println("BrowserProxy loading html from : " + url);
        }

        System.out.println("BrowserProxy use cache html : " + url);
        return html;

    }
}
public class Html {
    private String url;
    public  Html(String url){
        this.url = url;
    }
}

실행

public class Main {
    public static void main(String[] args) {

       IBrowser browser = new BrowserProxy("www.naver.com");
        browser.show();
        browser.show();
        browser.show();

    }

}

'Java > 디자인패턴' 카테고리의 다른 글

[Java] 파사드 패턴  (0) 2023.07.12
[Java] 옵저버 패턴  (0) 2023.07.12
[Java] 어댑터 패턴  (0) 2023.07.11
[Java] 데코레이터 패턴  (0) 2023.07.11
[Java] static 변수와 싱글턴 패턴  (0) 2023.07.08