프록시 패턴

김인범's avatar
Nov 12, 2024
프록시 패턴
특정 객체에 대한 접근을 제어하기 위해 대리 객체(Proxy)를 사용하는 구조적 디자인 패턴
추가적인 로직이 필요한 경우나 접근을 제한 또는 지연시키고 싶을 때 사용합니다.
 

장점과 단점

장점

  1. 지연 초기화 (자원 절약)
  1. 접근 제어 (보안, 사용권한 관리)
  1. 쉬운 추가 기능 적용 (로깅, 캐싱)

단점

  1. 코드 복잡도 증가 (유지보수 비용▲)
  1. 응답 시간 지연 발생
 

코드 예시

//도어맨 대신 "안녕"이라는 말을 해주는 대행역할: Doormanproxy public class Doormanproxy { private Doorman doorman; // *****중요 public Doormanproxy(Doorman doorman) { this.doorman = doorman; } public void 쫒아내(Animal animal) { hello(); doorman.쫒아내(animal); //doorman 클래스, 매서드는 건드리지 않은 상태 + 인사를 건내는 역할도 안 준 상태 } //Doormanproxy 의 역할을 하는 메서드 private void hello() { System.out.println("안녕"); } -------------------------------------- public class App { public static void main(String[] args) { Doorman doorman = new Doorman(); Doormanproxy proxy = new Doormanproxy(doorman); Cat cat = new Cat(); Mouse mouse = new Mouse(); proxy.쫒아내(cat); }
 
Share article

taker