-
프록시 패턴Java & 배경지식/패턴 2020. 2. 17. 21:12반응형
프록시 패턴이란?
- 프록시를 사용하는 방법중에서 타깃에 대한 접근 방법을 제어하려는 목적을 가진 경우
- 타깃의 기능을 확장하거나 추가하지 않고, 클라이언트가 타깃에 접근하는 방식을 변경해준다.
public interface Image { public void displayImage(); }
public class ProxyExample { public static void main(String[] args) { Image image1 = new ProxyImage("HiRes_10MB_Photo1"); Image image2 = new ProxyImage("HiRes_10MB_Photo2"); image1.displayImage(); // loading necessary image2.displayImage(); // loading necessary } }
public class ProxyImage implements Image { private String filename; private Image image; public ProxyImage(String filename) { this.filename = filename; } @Override public void displayImage() { if (image == null) { image = new RealImage(filename); } image.displayImage(); } }
public class RealImage implements Image { private String filename; public RealImage(String filename) { this.filename = filename; loadImageFromDisk(); } private void loadImageFromDisk() { System.out.println("Loading " + filename); } @Override public void displayImage() { System.out.println("Displaying " + filename); } }
참고
토비의 스프링
https://ko.wikipedia.org/wiki/%ED%94%84%EB%A1%9D%EC%8B%9C_%ED%8C%A8%ED%84%B4
반응형'Java & 배경지식 > 패턴' 카테고리의 다른 글
프록시 패턴 - 백기선 (0) 2020.06.14 데코레이터 패턴 (0) 2020.02.17 Strategy Pattern(전략패턴) (0) 2020.02.13 Session Facade 패턴 (0) 2020.02.10 Transfer Object 패턴(Value Object) (0) 2020.02.10